SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
Java avanzado




Aspectos generales




        Java DR. Febles Nota:
   Muchos jemplos son tomados del
   libro de Laura Lemay y Rogers C.
Objetivos de la asignatura
              Los alumnos sean capaces de:


1.Entender los conceptos básicos de la
  programación orientada a objetos.
2.Diseñar clases y jerarquías de clases.
3.Escribir un programa java para un
  ambiente de programación.
4.Resolver un problema sencillo usando
  JAVA
                    Java DR. Febles Nota:
               Muchos jemplos son tomados del
               libro de Laura Lemay y Rogers C.
Evaluación de la asignatura



1.Un trabajo extraclase individual
2.El trabajo en el laboratorio
3.Una pregunta escrita en la semana 2
4.Una prueba final



                     Java DR. Febles Nota:
                Muchos jemplos son tomados del
                libro de Laura Lemay y Rogers C.
Temas de la clase 1.
                Introducción

1.Que es Java
2.Un poco de historia
3.Herramientas disponibles
4.Empezando a programar



                     Java DR. Febles Nota:
                Muchos jemplos son tomados del
                libro de Laura Lemay y Rogers C.
Objetivos de la clase 1.
                 Introducción

1.Conocer las razones que dieron origen al
  Lenguaje java.
2.Tener nociones de las herramientas para
  trabajar con java.
3.Comprender las diferencias y similitudes
  de java con otros lenguajes de
  programación
                    Java DR. Febles Nota:
               Muchos jemplos son tomados del
               libro de Laura Lemay y Rogers C.
Sitios de sus creadores:



•http://java.sun.com ultima
versión de JDK:
•http://java.sun.com/products/ind
ex.html
•http://www.microsoft.com/visualj/ o el
Wrokshop de Sun en
http://www.sun.com/developer-
products/java/.
                  Java DR. Febles Nota:
             Muchos jemplos son tomados del
             libro de Laura Lemay y Rogers C.
Java: un poco de
            historia

Desarrollado por la Sun MicroSystems
en 1991.
Formaba parte del proyecto GREEN,
software para controlar dispositivos
electrodomésticos.
También aspiraban a que los dispositivos
se comunicaran entre ellos.

                  Java DR. Febles Nota:
             Muchos jemplos son tomados del
             libro de Laura Lemay y Rogers C.
Inicio de la investigación




Un prototipo de dispositivo STAR 7 parecido a un
control remoto, que se comunicaba con otros de la
misma especie.
Se pensaba usar C++ Como lenguaje de
programación.
A James Gosling no le gustaba como C++ resolvía
las tareas.
Se encerró en su escritorio y escribió el lenguaje
que denomino OAK.

                       Java DR. Febles Nota:
                  Muchos jemplos son tomados del
                  libro de Laura Lemay y Rogers C.
Continua el proyecto


En 1994 fue creado el navegador Web para ejecutar
applets de java.

 Eso demostró: a) lo que ofrecía Java para la
 www y b) el tipo de programas que podría
 crearse.
 Los programadores Patrick Naughton y
 Jonathan Payne usaron Java para crear el
 navegador, que se denomino primero Web
 Runner y después HotJava.
                      Java DR. Febles Nota:
                 Muchos jemplos son tomados del
                 libro de Laura Lemay y Rogers C.
El despegue


Se produce después que Netscape se convierte en
la primera empresa en licenciarla en agosto de
1995.
En una conferencia en mayo de 1996 el empresario
de Netscape Marc Andreesen expreso: “El lenguaje
java es una tremenda oportunidad para todos ”

Después del lanzamiento publico del lenguaje
Java la Sun junto con otra subsidiaria llamada
JavaSoft le dio un considerable impulso la
lenguaje.
                     Java DR. Febles Nota:
                Muchos jemplos son tomados del
                libro de Laura Lemay y Rogers C.
Versiones


 •Java 1.0.2
 •Java 1.1.5
 •Java 1.2
 •Java 2

Se corresponden con las de (Java
Development Kit) o JDK

                    Java DR. Febles Nota:
               Muchos jemplos son tomados del
               libro de Laura Lemay y Rogers C.
Herramientas disponibles


•Symantec Visual Café.
•Borland JBuilder.
•SuperCede.
•Rogue Wave JFactory.
•Natural Intelligence Roaster.
•MetroWerks CodeWarrior.
•SunSoft java WorkShop.
•Eclipse
                      Java DR. Febles Nota:
                 Muchos jemplos son tomados del
                 libro de Laura Lemay y Rogers C.
Java DR. Febles Nota:
Muchos jemplos son tomados del
libro de Laura Lemay y Rogers C.
Perspectivas???


La empresa de tecnología KPCB(Kleiner, Perkins ,
caufield and Byers) ofreció 100 millones de dólares
para apoyar la apertura de empresas que usaran
Java como lenguaje de programación.

Sus principales virtudes son:
•Naturaleza independiente de plataforma.
•Orientación a objetos.
•Fácil aprendizaje
                     Java DR. Febles Nota:
                Muchos jemplos son tomados del
                libro de Laura Lemay y Rogers C.
El lenguaje Java



Es a la vez:
Compilado: convierte los .java en
bytecodes.
Interpretado. ejecuta cada una de
estas instrucciones en un ordenador
específico.

                Java DR. Febles Nota:
           Muchos jemplos son tomados del
           libro de Laura Lemay y Rogers C.
Java DR. Febles Nota:
Muchos jemplos son tomados del
libro de Laura Lemay y Rogers C.
Cada intérprete Java


Es una implementación de la Máquina Virtual
Java (JVM). Los bytecodes posibilitan el
objetivo de "write once, run anywhere", de
escribir el programa una vez y que se pueda
correr en cualquier plataforma que disponga
de una implementación de la JVM. Por
ejemplo, el mismo programa Java puede
correr en Windows 98, Solaris, Macintosh, etc.

                    Java DR. Febles Nota:
               Muchos jemplos son tomados del
               libro de Laura Lemay y Rogers C.
Java se refiere a:

• El lenguaje: para crear programas.
• La Máquina Virtual Java: para ejecutarlos.
La próxima slide muestra:

Que el API de Java y la Máquina Virtual
Java forman una capa intermedia (Java
platform) que aísla el programa Java de
las especificidades del hardware.

                     Java DR. Febles Nota:
                Muchos jemplos son tomados del
                libro de Laura Lemay y Rogers C.
Java DR. Febles Nota:
Muchos jemplos son tomados del
libro de Laura Lemay y Rogers C.
La Máquina Virtual Java

La Máquina Virtual Java (JVM) es el entorno en
el que se ejecutan los programas Java, su
misión principal es la de garantizar la
portabilidad de las aplicaciones Java. Define
esencialmente un ordenador abstracto y
especifica las instrucciones (bytecodes) que
este ordenador puede ejecutar. El intérprete
Java específico ejecuta las instrucciones que se
guardan en los archivos cuya extensión es
.class.
                      Java DR. Febles Nota:
                 Muchos jemplos son tomados del
                 libro de Laura Lemay y Rogers C.
Cinco tareas principales de la JVM


1. Reservar espacio en memoria para los objetos
   creados.
2. Liberar la memoria no usada (garbage collection).
3. Asignar variables a registros y pilas
4. Llamar al sistema huésped para ciertas funciones,
   como los accesos a los dispositivos
5. Vigilar el cumplimiento de las normas de seguridad
   de las aplicaciones Java



                         Java DR. Febles Nota:
                    Muchos jemplos son tomados del
                    libro de Laura Lemay y Rogers C.
En la última tarea


•Las referencias a arrays son verificadas en el
momento de la ejecución del programa.
•No hay manera de manipular de forma
directa los punteros.
•La JVM gestiona automáticamente el uso de
la memoria, de modo que no queden espacios
desocupados.
•No se permiten realizar ciertas conversiones
(casting) entre distintos tipos de datos.

                    Java DR. Febles Nota:
               Muchos jemplos son tomados del
               libro de Laura Lemay y Rogers C.
El lenguaje Java




El lenguaje Java no está diseñado
solamente para crear applets que corren
en la ventana del navegador. Java es un
lenguaje de propósito general, de alto
nivel, y orientado a objetos.

                   Java DR. Febles Nota:
              Muchos jemplos son tomados del
              libro de Laura Lemay y Rogers C.
Orientado a objetos puro



Java es un lenguaje de programación
orientado a objetos puro, en el sentido de que
no hay ninguna variable, función o constante
que no esté dentro de una clase. Se accede a
los miembros dato y las funciones miembro a
través de los objetos y de las clases. Por
razones de eficiencia, se han conservado los
tipos básicos de datos, int, float, double, char,
etc, similares a los del lenguaje C/C++.

                     Java DR. Febles Nota:
                Muchos jemplos son tomados del
                libro de Laura Lemay y Rogers C.
Tipos de programas más comunes


applets (se ejecutan en el navegador de la
máquina cliente).
aplicaciones (programas que se ejecutan
directamente en la JVM).

servlet que es similar a los applets pero se
ejecutan en los servidores Java.



                     Java DR. Febles Nota:
                Muchos jemplos son tomados del
                libro de Laura Lemay y Rogers C.
Applets



Pueden ser usados para crear:
•Animación.
•Figuras.                                        Nota

•Juegos.
•Formularios.                                    Ejemplo

•Otros efectos interactivos
                   Java DR. Febles Nota:
              Muchos jemplos son tomados del
              libro de Laura Lemay y Rogers C.
La API de Java



Está formada un conjunto de paquetes de
clases que le proporcionan una gran
funcionalidad.
El núcleo de la API viene con cada una de las
implementaciones de la JVM:
•Lo esencial: tipos de datos, clases y objetos,
arrays, cadenas de caracteres (strings),
subprocesos (threads), entrada/salida,
propiedades del sistema, etc.
                       Java DR. Febles Nota:
                  Muchos jemplos son tomados del
                  libro de Laura Lemay y Rogers C.
La API de Java




•Applets
•Manejo de la red (networking)
•Internacionalización
•Seguridad
•Componentes (JavaBeans)
•Persistencia (Object serialization)
•Conexión a bases de datos (JDBC)
                   Java DR. Febles Nota:
              Muchos jemplos son tomados del
              libro de Laura Lemay y Rogers C.
El primer programa en
                  Java


Los programas fuentes escritos en Java
son archivos de textos puro que pueden
ser escritos en cualquier editor.
Por lo tanto para escribir el primer
programa, lo primero es activar un
editor.

                   Java DR. Febles Nota:
              Muchos jemplos son tomados del
              libro de Laura Lemay y Rogers C.
Java



Características
  distintivas




        Java DR. Febles Nota:
   Muchos jemplos son tomados del
   libro de Laura Lemay y Rogers C.
Es SIMPLE




Java ofrece toda la funcionalidad de un lenguaje potente, pero sin las
características menos usadas y más confusas de éstos. C++ es un
lenguaje que adolece de falta de seguridad, pero C y C++ son
lenguajes más difundidos, por ello Java se diseñó para ser parecido a
C++ y así facilitar un rápido y fácil aprendizaje.

Java elimina muchas de las características de otros lenguajes como
C++, para mantener reducidas las especificaciones del lenguaje y
añadir características muy útiles como el garbage collector (reciclador
de memoria dinámica). No es necesario preocuparse de liberar
memoria, el reciclador se encarga de ello y como es un thread de baja
prioridad, cuando entra en acción, permite liberar bloques de memoria
muy grandes, lo que reduce la fragmentación de la memoria.



                          Java DR. Febles Nota:
                     Muchos jemplos son tomados del
                     libro de Laura Lemay y Rogers C.
Reduce en un 50% los errores más comunes de
                        programación


•aritmética de punteros.
•no existen referencias.
•registros (struct).
•definición de tipos (typedef).
•macros (#define).
•necesidad de liberar memoria (free).

Aunque, en realidad, lo que hace es eliminar las palabras reservadas
(struct, typedef), ya que las clases son algo parecido.

Además, el intérprete completo de Java que hay en este momento es
muy pequeño, solamente ocupa 215 Kb de RAM.


                             Java DR. Febles Nota:
                        Muchos jemplos son tomados del
                        libro de Laura Lemay y Rogers C.
Es ORIENTADO A OBJETOS




Java implementa la tecnología básica de C++
con algunas mejoras y elimina algunas cosas
para mantener el objetivo de la simplicidad del
lenguaje. Java trabaja con sus datos como
objetos y con interfaces a esos objetos.
Soporta las tres características propias del
paradigma de la orientación a objetos:
encapsulación, herencia y polimorfismo. Las
plantillas de objetos son llamadas, como en
C++, clases y sus copias, instancias.
                     Java DR. Febles Nota:
                Muchos jemplos son tomados del
                libro de Laura Lemay y Rogers C.
Java incorpora funcionalidades inexistentes en C++


 En C++ se suele trabajar con librerías dinámicas (DLLs)
 que obligan a recompilar la aplicación cuando se
 retocan las funciones que se encuentran en su interior.
 Este inconveniente es resuelto por Java mediante una
 interfaz específica llamada RTTI (RunTime Type
 Identification) que define la interacción entre objetos
 excluyendo variables de instancias o implementación de
 métodos. Las clases en Java tienen una representación
 en el runtime que permite a los programadores
 interrogar por el tipo de clase y enlazar dinámicamente
 la clase con el resultado de la búsqueda.
                        Java DR. Febles Nota:
                   Muchos jemplos son tomados del
                   libro de Laura Lemay y Rogers C.
Es DISTRIBUIDO:




Java se ha construido con extensas capacidades de
interconexión TCP/IP. Existen librerías de rutinas para
acceder e interactuar con protocolos como http y ftp.
Esto permite a los programadores acceder a la
información a través de la red con tanta facilidad
como a los ficheros locales.

La verdad es que Java en sí no es distribuido, sino
que proporciona las librerías y herramientas para que
los programas puedan ser distribuidos, es decir, que
se corran en varias máquinas, interactuando.
                       Java DR. Febles Nota:
                  Muchos jemplos son tomados del
                  libro de Laura Lemay y Rogers C.
Es ROBUSTO



•Java realiza verificaciones en busca de problemas tanto
en tiempo de compilación como en tiempo de ejecución.
•Maneja la memoria para eliminar las preocupaciones por
parte del programador de la liberación o corrupción de
memoria.
•Implementa los arrays auténticos, en vez de listas
enlazadas de punteros, con comprobación de límites,
para evitar la posibilidad de sobreescribir o corromper
memoria resultado de punteros que señalan a zonas
equivocadas.

                          Java DR. Febles Nota:
                     Muchos jemplos son tomados del
                     libro de Laura Lemay y Rogers C.
ADEMAS…




Java proporciona:

Comprobación de punteros
Comprobación de límites de arrays
Excepciones
Verificación de byte-codes

                Java DR. Febles Nota:
           Muchos jemplos son tomados del
           libro de Laura Lemay y Rogers C.
Es de ARQUITECTURA NEUTRAL:



El compilador Java compila su código a un fichero
objeto de formato independiente de la arquitectura de
la máquina en que se ejecutará. Cualquier máquina que
tenga el sistema de ejecución (run-time) puede ejecutar
ese código objeto, sin importar en modo alguno la
máquina en que ha sido generado. Actualmente existen
sistemas run-time para Solaris 2.x, SunOs 4.1.x,
Windows 95, Windows NT, Linux, Irix, Aix, Mac, Apple y
probablemente haya grupos de desarrollo trabajando en
el porting a otras plataformas.


                       Java DR. Febles Nota:
                  Muchos jemplos son tomados del
                  libro de Laura Lemay y Rogers C.
Java DR. Febles Nota:
Muchos jemplos son tomados del
libro de Laura Lemay y Rogers C.
Arquitectura de Java sobre una plataforma
                 genérica




                 Java DR. Febles Nota:
            Muchos jemplos son tomados del
            libro de Laura Lemay y Rogers C.
Es SEGURO




Cuando se usa Java para crear un navegador, se
combinan las características del lenguaje con
protecciones de sentido común aplicadas al propio
navegador.

Los programadores de C utilizan punteros en
conjunción con operaciones aritméticas. Con un
lenguaje como C, se pueden tomar números enteros
aleatorios y convertirlos en punteros para luego
acceder a la memoria:

                     Java DR. Febles Nota:
                Muchos jemplos son tomados del
                libro de Laura Lemay y Rogers C.
Es PORTABLE:



Más allá de la portabilidad básica por ser de
arquitectura independiente, Java implementa
otros estándares de portabilidad para facilitar
el desarrollo. Los enteros son siempre enteros
y además, enteros de 32 bits en complemento
a 2. Además, Java construye sus interfaces de
usuario a través de un sistema abstracto de
ventanas de forma que las ventanas puedan
ser implantadas en entornos Unix, Pc o Mac.

                     Java DR. Febles Nota:
                Muchos jemplos son tomados del
                libro de Laura Lemay y Rogers C.
Es INTERPRETADO


El intérprete Java (sistema run-time) puede ejecutar
directamente el código objeto. Enlazar (linkar) un
programa, normalmente, consume menos recursos que
compilarlo, por lo que los desarrolladores con Java
pasarán más tiempo desarrollando y menos esperando
por el ordenador. No obstante, el compilador actual del
JDK es bastante lento. Por ahora, que todavía no hay
compiladores específicos de Java para las diversas
plataformas, Java es más lento que otros lenguajes de
programación, como C++, ya que debe ser
interpretado y no ejecutado como sucede en cualquier
programa tradicional.
                        Java DR. Febles Nota:
                   Muchos jemplos son tomados del
                   libro de Laura Lemay y Rogers C.
Es MULTITHREADED



Al ser multithreaded (multihilvanado, en mala
traducción), Java permite muchas actividades
simultáneas en un programa. Los threads (a
veces llamados, procesos ligeros), son
básicamente pequeños procesos o piezas
independientes de un gran proceso. Al estar
los threads construidos en el lenguaje, son
más fáciles de usar y más robustos que sus
homólogos en C o C++.
                   Java DR. Febles Nota:
              Muchos jemplos son tomados del
              libro de Laura Lemay y Rogers C.
Es MULTITHREADED cont…




El beneficio de ser miltithreaded consiste en un mejor
rendimiento interactivo y mejor comportamiento en tiempo real.
Aunque el comportamiento en tiempo real está limitado a las
capacidades del sistema operativo subyacente (Unix, Windows,
etc.), aún supera a los entornos de flujo único de programa
(single-threaded) tanto en facilidad de desarrollo como en
rendimiento.

Cualquiera que haya utilizado la tecnología de navegación
concurrente, sabe lo frustrante que puede ser esperar por una
gran imagen que se está trayendo. En Java, las imágenes se
pueden ir trayendo en un thread independiente, permitiendo que
el usuario pueda acceder a la información en la página sin tener
que esperar por el navegador.
                          Java DR. Febles Nota:
                     Muchos jemplos son tomados del
                     libro de Laura Lemay y Rogers C.
Es DINAMICO




Java se beneficia todo lo posible de la
tecnología orientada a objetos. Java no
intenta conectar todos los módulos que
comprenden una aplicación hasta el tiempo
de ejecución. Las librería nuevas o
actualizadas no paralizarán las aplicaciones
actuales (siempre que mantengan el API
anterior).

                   Java DR. Febles Nota:
              Muchos jemplos son tomados del
              libro de Laura Lemay y Rogers C.
Piezas que el sistema necesita para
funcionar.




                Java DR. Febles Nota:
           Muchos jemplos son tomados del
           libro de Laura Lemay y Rogers C.
Fin de la clase




        Java DR. Febles Nota:
   Muchos jemplos son tomados del
   libro de Laura Lemay y Rogers C.
Nota1


Actualmente, casi todos los applets son
escritos en java 1.0.2, la primera versión del
lenguaje, porque las empresas lideres en la
fabricación de navegadores demoraron en
ofrecer soporte a los navegadores 1.1 y 1.2.
Actualmente los navegadores incluyen
soporte para las ultimas versiones del
lenguaje

                    Java DR. Febles Nota:
               Muchos jemplos son tomados del
               libro de Laura Lemay y Rogers C.
Nota 2

Código
                              Byte code
Java                                               Pentium
                                  Java


                                                   PowerPc


         Compilador
           Java                                    SPARC




                     Java DR. Febles Nota:
                Muchos jemplos son tomados del
                libro de Laura Lemay y Rogers C.
Orientado a objetos



Un modo de conceptuar un
programa de computadora como
un conjunto de objetos en
interacción.
Java hereda gran parte de estos
conceptos de C++, lenguaje en el que
esta fuertemente basado.
                Java DR. Febles Nota:
           Muchos jemplos son tomados del
           libro de Laura Lemay y Rogers C.

Mais conteúdo relacionado

Mais procurados

Lenguaje de Programación Java
Lenguaje de Programación JavaLenguaje de Programación Java
Lenguaje de Programación JavaAlfredito Aguayo
 
Compilador: DEFINICIÓN
Compilador: DEFINICIÓNCompilador: DEFINICIÓN
Compilador: DEFINICIÓNInfomania pro
 
[ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java [ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java Eudris Cabrera
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaglfloresgilberto
 
Java pre
Java preJava pre
Java prejtk1
 
Introduc java pre
Introduc java preIntroduc java pre
Introduc java prejtk1
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POOsena
 

Mais procurados (12)

Lenguaje de programacion java
Lenguaje de programacion javaLenguaje de programacion java
Lenguaje de programacion java
 
Lenguaje java
Lenguaje javaLenguaje java
Lenguaje java
 
Java world
Java worldJava world
Java world
 
Lenguaje de Programación Java
Lenguaje de Programación JavaLenguaje de Programación Java
Lenguaje de Programación Java
 
Java desde cero
Java desde ceroJava desde cero
Java desde cero
 
Compilador: DEFINICIÓN
Compilador: DEFINICIÓNCompilador: DEFINICIÓN
Compilador: DEFINICIÓN
 
[ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java [ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Java pre
Java preJava pre
Java pre
 
Introduc java pre
Introduc java preIntroduc java pre
Introduc java pre
 
Programación java 1
Programación java 1Programación java 1
Programación java 1
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POO
 

Destaque (13)

Como programar en java
Como programar en java   Como programar en java
Como programar en java
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Tema 5 ejercicio 01 - normalizacion
Tema 5   ejercicio 01 - normalizacionTema 5   ejercicio 01 - normalizacion
Tema 5 ejercicio 01 - normalizacion
 
Representación de la información
Representación de la informaciónRepresentación de la información
Representación de la información
 
Programacion de algoritmos
Programacion de algoritmosProgramacion de algoritmos
Programacion de algoritmos
 
Sistema binario
Sistema binarioSistema binario
Sistema binario
 
¿De Idea a Producto en 30 días?
¿De Idea a Producto en 30 días? ¿De Idea a Producto en 30 días?
¿De Idea a Producto en 30 días?
 
Clase Sistemas Numéricos
Clase Sistemas NuméricosClase Sistemas Numéricos
Clase Sistemas Numéricos
 
Operaciones Binarias
Operaciones BinariasOperaciones Binarias
Operaciones Binarias
 
5154 - Tema 1
5154 - Tema 15154 - Tema 1
5154 - Tema 1
 
Representación de los datos
Representación de los datosRepresentación de los datos
Representación de los datos
 
Complemento A Dos
Complemento A DosComplemento A Dos
Complemento A Dos
 
10 Tips para desarrollar tu lógica de programación
10 Tips para desarrollar tu lógica de programación10 Tips para desarrollar tu lógica de programación
10 Tips para desarrollar tu lógica de programación
 

Semelhante a Java Avanzado Clases (20)

JAVA
JAVAJAVA
JAVA
 
Caracteristicas de Java
Caracteristicas de JavaCaracteristicas de Java
Caracteristicas de Java
 
java,conceptos basicos
java,conceptos basicosjava,conceptos basicos
java,conceptos basicos
 
Resumen
ResumenResumen
Resumen
 
Clase 4
Clase 4Clase 4
Clase 4
 
Que Es Java
Que Es JavaQue Es Java
Que Es Java
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragado
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragado
 
Fundamentos de Java
Fundamentos de Java Fundamentos de Java
Fundamentos de Java
 
Clase 41
Clase 41Clase 41
Clase 41
 
JAVA.pptx
JAVA.pptxJAVA.pptx
JAVA.pptx
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrollo
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Java
JavaJava
Java
 
Java basico
Java basicoJava basico
Java basico
 
Java basico
Java basicoJava basico
Java basico
 
Mapa conceptual java
Mapa conceptual java Mapa conceptual java
Mapa conceptual java
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conpre
 
Java kaime con
Java kaime conJava kaime con
Java kaime con
 
Queesjava 1230140667149082-2
Queesjava 1230140667149082-2Queesjava 1230140667149082-2
Queesjava 1230140667149082-2
 

Mais de Mariano Galvez

Mais de Mariano Galvez (19)

Temas y estructura para la investigación
Temas  y estructura para la investigaciónTemas  y estructura para la investigación
Temas y estructura para la investigación
 
Tema 6 planes de seguridad informatica
Tema 6 planes de seguridad informaticaTema 6 planes de seguridad informatica
Tema 6 planes de seguridad informatica
 
Tema 5 criptografia y redes
Tema 5 criptografia y redesTema 5 criptografia y redes
Tema 5 criptografia y redes
 
Tema 4 mecanismos de defensa
Tema 4 mecanismos de defensaTema 4 mecanismos de defensa
Tema 4 mecanismos de defensa
 
Tema 3 ataques
Tema 3 ataquesTema 3 ataques
Tema 3 ataques
 
Tema 3 ataques
Tema 3 ataquesTema 3 ataques
Tema 3 ataques
 
Tema 2 necesidad de la seguridad
Tema 2 necesidad de la seguridadTema 2 necesidad de la seguridad
Tema 2 necesidad de la seguridad
 
Tema 1 arquitectura de redes
Tema 1 arquitectura de redesTema 1 arquitectura de redes
Tema 1 arquitectura de redes
 
C6 java beans v2
C6  java beans v2C6  java beans v2
C6 java beans v2
 
C5 applets v2
C5 applets v2C5 applets v2
C5 applets v2
 
C5 applets v2
C5 applets v2C5 applets v2
C5 applets v2
 
Vaadin
VaadinVaadin
Vaadin
 
Badin
BadinBadin
Badin
 
C4 objeto metodos y funciones v2
C4 objeto metodos y funciones v2C4 objeto metodos y funciones v2
C4 objeto metodos y funciones v2
 
C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2
 
C2 fundamentos de java v2
C2 fundamentos de java v2C2 fundamentos de java v2
C2 fundamentos de java v2
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C2 clases en java
C2 clases en javaC2 clases en java
C2 clases en java
 

Último

CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAELIASPELAEZSARMIENTO1
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxkeithgiancarloroquef
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdfRAMON EUSTAQUIO CARO BAYONA
 

Último (20)

CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
 
Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptx
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf
 

Java Avanzado Clases

  • 1. Java avanzado Aspectos generales Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 2. Objetivos de la asignatura Los alumnos sean capaces de: 1.Entender los conceptos básicos de la programación orientada a objetos. 2.Diseñar clases y jerarquías de clases. 3.Escribir un programa java para un ambiente de programación. 4.Resolver un problema sencillo usando JAVA Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 3. Evaluación de la asignatura 1.Un trabajo extraclase individual 2.El trabajo en el laboratorio 3.Una pregunta escrita en la semana 2 4.Una prueba final Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 4. Temas de la clase 1. Introducción 1.Que es Java 2.Un poco de historia 3.Herramientas disponibles 4.Empezando a programar Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 5. Objetivos de la clase 1. Introducción 1.Conocer las razones que dieron origen al Lenguaje java. 2.Tener nociones de las herramientas para trabajar con java. 3.Comprender las diferencias y similitudes de java con otros lenguajes de programación Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 6. Sitios de sus creadores: •http://java.sun.com ultima versión de JDK: •http://java.sun.com/products/ind ex.html •http://www.microsoft.com/visualj/ o el Wrokshop de Sun en http://www.sun.com/developer- products/java/. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 7. Java: un poco de historia Desarrollado por la Sun MicroSystems en 1991. Formaba parte del proyecto GREEN, software para controlar dispositivos electrodomésticos. También aspiraban a que los dispositivos se comunicaran entre ellos. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 8. Inicio de la investigación Un prototipo de dispositivo STAR 7 parecido a un control remoto, que se comunicaba con otros de la misma especie. Se pensaba usar C++ Como lenguaje de programación. A James Gosling no le gustaba como C++ resolvía las tareas. Se encerró en su escritorio y escribió el lenguaje que denomino OAK. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 9. Continua el proyecto En 1994 fue creado el navegador Web para ejecutar applets de java. Eso demostró: a) lo que ofrecía Java para la www y b) el tipo de programas que podría crearse. Los programadores Patrick Naughton y Jonathan Payne usaron Java para crear el navegador, que se denomino primero Web Runner y después HotJava. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 10. El despegue Se produce después que Netscape se convierte en la primera empresa en licenciarla en agosto de 1995. En una conferencia en mayo de 1996 el empresario de Netscape Marc Andreesen expreso: “El lenguaje java es una tremenda oportunidad para todos ” Después del lanzamiento publico del lenguaje Java la Sun junto con otra subsidiaria llamada JavaSoft le dio un considerable impulso la lenguaje. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 11. Versiones •Java 1.0.2 •Java 1.1.5 •Java 1.2 •Java 2 Se corresponden con las de (Java Development Kit) o JDK Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 12. Herramientas disponibles •Symantec Visual Café. •Borland JBuilder. •SuperCede. •Rogue Wave JFactory. •Natural Intelligence Roaster. •MetroWerks CodeWarrior. •SunSoft java WorkShop. •Eclipse Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 13. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 14. Perspectivas??? La empresa de tecnología KPCB(Kleiner, Perkins , caufield and Byers) ofreció 100 millones de dólares para apoyar la apertura de empresas que usaran Java como lenguaje de programación. Sus principales virtudes son: •Naturaleza independiente de plataforma. •Orientación a objetos. •Fácil aprendizaje Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 15. El lenguaje Java Es a la vez: Compilado: convierte los .java en bytecodes. Interpretado. ejecuta cada una de estas instrucciones en un ordenador específico. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 16. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 17. Cada intérprete Java Es una implementación de la Máquina Virtual Java (JVM). Los bytecodes posibilitan el objetivo de "write once, run anywhere", de escribir el programa una vez y que se pueda correr en cualquier plataforma que disponga de una implementación de la JVM. Por ejemplo, el mismo programa Java puede correr en Windows 98, Solaris, Macintosh, etc. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 18. Java se refiere a: • El lenguaje: para crear programas. • La Máquina Virtual Java: para ejecutarlos. La próxima slide muestra: Que el API de Java y la Máquina Virtual Java forman una capa intermedia (Java platform) que aísla el programa Java de las especificidades del hardware. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 19. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 20. La Máquina Virtual Java La Máquina Virtual Java (JVM) es el entorno en el que se ejecutan los programas Java, su misión principal es la de garantizar la portabilidad de las aplicaciones Java. Define esencialmente un ordenador abstracto y especifica las instrucciones (bytecodes) que este ordenador puede ejecutar. El intérprete Java específico ejecuta las instrucciones que se guardan en los archivos cuya extensión es .class. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 21. Cinco tareas principales de la JVM 1. Reservar espacio en memoria para los objetos creados. 2. Liberar la memoria no usada (garbage collection). 3. Asignar variables a registros y pilas 4. Llamar al sistema huésped para ciertas funciones, como los accesos a los dispositivos 5. Vigilar el cumplimiento de las normas de seguridad de las aplicaciones Java Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 22. En la última tarea •Las referencias a arrays son verificadas en el momento de la ejecución del programa. •No hay manera de manipular de forma directa los punteros. •La JVM gestiona automáticamente el uso de la memoria, de modo que no queden espacios desocupados. •No se permiten realizar ciertas conversiones (casting) entre distintos tipos de datos. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 23. El lenguaje Java El lenguaje Java no está diseñado solamente para crear applets que corren en la ventana del navegador. Java es un lenguaje de propósito general, de alto nivel, y orientado a objetos. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 24. Orientado a objetos puro Java es un lenguaje de programación orientado a objetos puro, en el sentido de que no hay ninguna variable, función o constante que no esté dentro de una clase. Se accede a los miembros dato y las funciones miembro a través de los objetos y de las clases. Por razones de eficiencia, se han conservado los tipos básicos de datos, int, float, double, char, etc, similares a los del lenguaje C/C++. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 25. Tipos de programas más comunes applets (se ejecutan en el navegador de la máquina cliente). aplicaciones (programas que se ejecutan directamente en la JVM). servlet que es similar a los applets pero se ejecutan en los servidores Java. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 26. Applets Pueden ser usados para crear: •Animación. •Figuras. Nota •Juegos. •Formularios. Ejemplo •Otros efectos interactivos Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 27. La API de Java Está formada un conjunto de paquetes de clases que le proporcionan una gran funcionalidad. El núcleo de la API viene con cada una de las implementaciones de la JVM: •Lo esencial: tipos de datos, clases y objetos, arrays, cadenas de caracteres (strings), subprocesos (threads), entrada/salida, propiedades del sistema, etc. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 28. La API de Java •Applets •Manejo de la red (networking) •Internacionalización •Seguridad •Componentes (JavaBeans) •Persistencia (Object serialization) •Conexión a bases de datos (JDBC) Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 29. El primer programa en Java Los programas fuentes escritos en Java son archivos de textos puro que pueden ser escritos en cualquier editor. Por lo tanto para escribir el primer programa, lo primero es activar un editor. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 30. Java Características distintivas Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 31. Es SIMPLE Java ofrece toda la funcionalidad de un lenguaje potente, pero sin las características menos usadas y más confusas de éstos. C++ es un lenguaje que adolece de falta de seguridad, pero C y C++ son lenguajes más difundidos, por ello Java se diseñó para ser parecido a C++ y así facilitar un rápido y fácil aprendizaje. Java elimina muchas de las características de otros lenguajes como C++, para mantener reducidas las especificaciones del lenguaje y añadir características muy útiles como el garbage collector (reciclador de memoria dinámica). No es necesario preocuparse de liberar memoria, el reciclador se encarga de ello y como es un thread de baja prioridad, cuando entra en acción, permite liberar bloques de memoria muy grandes, lo que reduce la fragmentación de la memoria. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 32. Reduce en un 50% los errores más comunes de programación •aritmética de punteros. •no existen referencias. •registros (struct). •definición de tipos (typedef). •macros (#define). •necesidad de liberar memoria (free). Aunque, en realidad, lo que hace es eliminar las palabras reservadas (struct, typedef), ya que las clases son algo parecido. Además, el intérprete completo de Java que hay en este momento es muy pequeño, solamente ocupa 215 Kb de RAM. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 33. Es ORIENTADO A OBJETOS Java implementa la tecnología básica de C++ con algunas mejoras y elimina algunas cosas para mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus datos como objetos y con interfaces a esos objetos. Soporta las tres características propias del paradigma de la orientación a objetos: encapsulación, herencia y polimorfismo. Las plantillas de objetos son llamadas, como en C++, clases y sus copias, instancias. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 34. Java incorpora funcionalidades inexistentes en C++ En C++ se suele trabajar con librerías dinámicas (DLLs) que obligan a recompilar la aplicación cuando se retocan las funciones que se encuentran en su interior. Este inconveniente es resuelto por Java mediante una interfaz específica llamada RTTI (RunTime Type Identification) que define la interacción entre objetos excluyendo variables de instancias o implementación de métodos. Las clases en Java tienen una representación en el runtime que permite a los programadores interrogar por el tipo de clase y enlazar dinámicamente la clase con el resultado de la búsqueda. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 35. Es DISTRIBUIDO: Java se ha construido con extensas capacidades de interconexión TCP/IP. Existen librerías de rutinas para acceder e interactuar con protocolos como http y ftp. Esto permite a los programadores acceder a la información a través de la red con tanta facilidad como a los ficheros locales. La verdad es que Java en sí no es distribuido, sino que proporciona las librerías y herramientas para que los programas puedan ser distribuidos, es decir, que se corran en varias máquinas, interactuando. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 36. Es ROBUSTO •Java realiza verificaciones en busca de problemas tanto en tiempo de compilación como en tiempo de ejecución. •Maneja la memoria para eliminar las preocupaciones por parte del programador de la liberación o corrupción de memoria. •Implementa los arrays auténticos, en vez de listas enlazadas de punteros, con comprobación de límites, para evitar la posibilidad de sobreescribir o corromper memoria resultado de punteros que señalan a zonas equivocadas. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 37. ADEMAS… Java proporciona: Comprobación de punteros Comprobación de límites de arrays Excepciones Verificación de byte-codes Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 38. Es de ARQUITECTURA NEUTRAL: El compilador Java compila su código a un fichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará. Cualquier máquina que tenga el sistema de ejecución (run-time) puede ejecutar ese código objeto, sin importar en modo alguno la máquina en que ha sido generado. Actualmente existen sistemas run-time para Solaris 2.x, SunOs 4.1.x, Windows 95, Windows NT, Linux, Irix, Aix, Mac, Apple y probablemente haya grupos de desarrollo trabajando en el porting a otras plataformas. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 39. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 40. Arquitectura de Java sobre una plataforma genérica Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 41. Es SEGURO Cuando se usa Java para crear un navegador, se combinan las características del lenguaje con protecciones de sentido común aplicadas al propio navegador. Los programadores de C utilizan punteros en conjunción con operaciones aritméticas. Con un lenguaje como C, se pueden tomar números enteros aleatorios y convertirlos en punteros para luego acceder a la memoria: Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 42. Es PORTABLE: Más allá de la portabilidad básica por ser de arquitectura independiente, Java implementa otros estándares de portabilidad para facilitar el desarrollo. Los enteros son siempre enteros y además, enteros de 32 bits en complemento a 2. Además, Java construye sus interfaces de usuario a través de un sistema abstracto de ventanas de forma que las ventanas puedan ser implantadas en entornos Unix, Pc o Mac. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 43. Es INTERPRETADO El intérprete Java (sistema run-time) puede ejecutar directamente el código objeto. Enlazar (linkar) un programa, normalmente, consume menos recursos que compilarlo, por lo que los desarrolladores con Java pasarán más tiempo desarrollando y menos esperando por el ordenador. No obstante, el compilador actual del JDK es bastante lento. Por ahora, que todavía no hay compiladores específicos de Java para las diversas plataformas, Java es más lento que otros lenguajes de programación, como C++, ya que debe ser interpretado y no ejecutado como sucede en cualquier programa tradicional. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 44. Es MULTITHREADED Al ser multithreaded (multihilvanado, en mala traducción), Java permite muchas actividades simultáneas en un programa. Los threads (a veces llamados, procesos ligeros), son básicamente pequeños procesos o piezas independientes de un gran proceso. Al estar los threads construidos en el lenguaje, son más fáciles de usar y más robustos que sus homólogos en C o C++. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 45. Es MULTITHREADED cont… El beneficio de ser miltithreaded consiste en un mejor rendimiento interactivo y mejor comportamiento en tiempo real. Aunque el comportamiento en tiempo real está limitado a las capacidades del sistema operativo subyacente (Unix, Windows, etc.), aún supera a los entornos de flujo único de programa (single-threaded) tanto en facilidad de desarrollo como en rendimiento. Cualquiera que haya utilizado la tecnología de navegación concurrente, sabe lo frustrante que puede ser esperar por una gran imagen que se está trayendo. En Java, las imágenes se pueden ir trayendo en un thread independiente, permitiendo que el usuario pueda acceder a la información en la página sin tener que esperar por el navegador. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 46. Es DINAMICO Java se beneficia todo lo posible de la tecnología orientada a objetos. Java no intenta conectar todos los módulos que comprenden una aplicación hasta el tiempo de ejecución. Las librería nuevas o actualizadas no paralizarán las aplicaciones actuales (siempre que mantengan el API anterior). Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 47. Piezas que el sistema necesita para funcionar. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 48. Fin de la clase Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 49. Nota1 Actualmente, casi todos los applets son escritos en java 1.0.2, la primera versión del lenguaje, porque las empresas lideres en la fabricación de navegadores demoraron en ofrecer soporte a los navegadores 1.1 y 1.2. Actualmente los navegadores incluyen soporte para las ultimas versiones del lenguaje Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 50. Nota 2 Código Byte code Java Pentium Java PowerPc Compilador Java SPARC Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
  • 51. Orientado a objetos Un modo de conceptuar un programa de computadora como un conjunto de objetos en interacción. Java hereda gran parte de estos conceptos de C++, lenguaje en el que esta fuertemente basado. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.