2. Objetivos
Al final de esta lección el estudiante sería capaz de:
Conocer brevemente la historia de Java.
Describir las características de la tecnología Java
Describir las diferentes fases de un programa Java.
Introducción a Java 2
3. Historia de Java
Introducción a Java 3
Java
-Fue creado en 1991 para una aplicación para Set-top box.
-Sun Microsystems creo un grupo compuesto por trece personas y
dirigido por James Gosling para su desarrollo.
-Inicialmente se denominó Oak por un roble cerca de las oficinas de
Gosling, el nombre fue cambiado por la existencia de otro lenguaje
llamado Oak.
4. Historia de Java
¿Por qué se llamó Java?
-El término Java fue acuñado en una cafetería frecuentada por algunos
de los miembros del equipo
-JAVA = James Gosling, Arthur Van Hoff, y Andy Bechtolsheim.
-JAVA = Just Another Vague Acronym ("sólo otro acrónimo ambiguo
más").
-Tipo de cafe en la cafetería cercana
Introducción a Java 4
5. Historia de Java
Duke, Mascota de Java
-Duke era "el agente de Software", era el que "hacia" las cosas que el
usuario pedia por medio de la pantalla animada en uno de los primeros
desarrollos “start 7”
Introducción a Java 5
6. Historia de Java
Introducción a Java 6
Java
- La motivación original para crear Java
proporcionando un lenguaje independiente de la plataforma y un entorno de ejecución
ligero y gratuito, para poder implementarlo en electrodomésticos tipo neveras o
tostadoras. (Write Once, Run Anywhere)
- Uno de los primeros proyectos desarrollados en Java
Un control remoto llamado Star 7.
- Al mismo tiempo, el World Wide Web e Internet estaban ganando
popularidad. Gosling se dio cuenta de que Java podría ser usado para la
programación en Internet.
- El 9 de enero de 1996, Sun fundó el grupo empresarial JavaSoft para que
se encargase del desarrollo tecnológico. Dos semanas más tarde la
primera versión de Java fue publicada.
7. Tecnología Java:
¿Qué es la Tecnología Java?
La Tecnología Java es:
- Un lenguaje de programación
- Un entorno de desarrollo
- Es una aplicación
- Un entorno de ejecución
Introducción a Java 7
8. Tecnología Java:
Lenguaje de programación
Como lenguaje de programación, Java puede crear todo
tipo de aplicaciones que se podrían crear usando cualquier
lenguaje de programación convencional.
Introducción a Java 8
9. Tecnología Java:
Entorno de desarrollo
Como entorno de desarrollo, la Tecnología Java provée con
un gran número de herramientas:
- Compilador (javac)
- Intérprete (java)
- Generador de documentación (javadoc)
- Una herramienta para empaquetar los .class
Y mucho más…
Introducción a Java 9
10. Tecnología Java:
Una aplicación y un entorno de ejecución
Las aplicaciones con Tecnología Java son generalmente
programas de uso general que funcionan en cualquier
máquina donde el Java runtime enviroment (JRE) está
instalado.
Existen dos entornos de ejecución principales:
1. El JRE suministrado por el Java 2 Software Development Kit (SDK)
contiene un conjunto completo de clases.
2. La otra se encuentra en el navegador Web. La mayoría de los
navegadores suministran un intérprete para la Tecnología Java y un
entorno de ejecución.
Introducción a Java 10
11. Características de Java
Algunas características de Java:
- La máquina virtual de Java
- Interoperabilidad de Plataforma
- Recolección de Basura “Garbage Collection”
- Java es Simple
- Java es Orientado a Objetos
- Java es seguro
- Java es Multi-hilo
- Code Security
Introducción a Java 11
12. Características de Java
The Java Virtual Machine
Máquina Virtual de Java - Java Virtual Machine (JVM)
- Una máquina imaginanaria que es implementada emulando un
software en una máquina real
- Provée las especificaciones de la plataforma hardware donde se
compila el código de la Tecnología Java
Introducción a Java 12
Bytecode
- Un código especial que es entendido por la Máquina Virtual de Java
(JVM)
- Independientemente de cualquier hardware, por lo que cualquier
ordenador con intérprete de Java puede ejecutar el programa
compilado en Java, da igual en que tipo de ordenador se haya
compilado.
13. Características de Java
Interoperabilidad de Plataforma
• "Write once, run everywhere" (Escribalo una vez,
ejecútalo en todos lados)
Introducción a Java 13
14. Características de Java
Garbage Collection
Recolector de basura - Garbage collection thread
- Responsible de liberar cualquier memoria que pueda ser liberada.
Esto se realiza de manera automática durante la vida del programa
Java.
- El programador se liberaa de la carga de tener que liberar la
memoria no utilizada.
Introducción a Java 14
15. Características de Java
Java es Simple
- Java fue diseñado para hacer más fácil el desarrollo de código sin
bugs.
- Fácil de leer y escribir
- Es muy difícil escribir un programa Java que colapse tu sistema
Introducción a Java 15
16. Características de Java
Seguridad de Código
Seguridad en el código es conseguido mediatne la
implementación del Java Runtime Enviroment (JRE)
Introducción a Java 16
JRE
- Ejecuta código compilado por una JVM y realiza la carga de clases
(Class Loader), verificación de código(Verificador de Código -
Bytecode verifier) y finalmente ejecución de código.
17. Características de Java
Code Security
Introducción a Java 17
Class Loader
- Responsable de la carga de las clases necesarias para el programa
Java
- Tras cargar las clases, la memoria dispuesta del ejecutable es
determinada. Esto añade protección contra acceso no autorizado a
areas restringidas del código ya que la memoria está determinada
durante la ejecución.
18. Características de Java
Code Security
Introducción a Java 18
Bytecode verifier
- Comprueba el formato del código y chequea el código en busca de
código ilegal que puede violar el acceso correcto a objetos.
19. Fases de un programa Java
La siguiente figura describe el proceso de compilación y
ejecución de un programa Java.
Introducción a Java 19
20. Fases de un programa Java
Tarea Herramienta a
usar
Salida
Introducción a Java 20
Escribir el
programa
Cualquier
editor de texto
o IDE
Fichero .java
Compilar el
programa
Compilador
Java
(javac)
Fichero .class
(Java
bytecodes)
Ejecutar el
programa
Intérprete Java
(java)
Salida
programa
21. Desventajas de Java
Velocidad
Al tener que ser ejecutado medianta la JVM hace que no sea
tan rápido como con otras tecnologías, por ejemplo C++.
No es tan simple
Adquirir un estilo de programación orientada a objetos es
difícil. También saber sobre la filosofía y los componentes
en las clases de librerías es difícil y consume mucho
tiempo.
Introducción a Java 21