Este documento introduce Java, describiendo sus objetivos, historia, tecnología, características clave como la máquina virtual Java y el recolector de basura, y las fases de un programa Java, incluyendo la compilación y ejecución.
1. Introducción a...
Esta obra está licenciada bajo una Licencia Atribución-No Comercial-
Compartir Obras Derivadas Igual 3.0 Unported de Creative Commons.
Para ver una copia de esta licencia, visite
http://creativecommons.org/licenses/by-nc-sa/3.0/ o envíenos una
Elaborado por:
carta a Creative Commons, 171 Second Street, Suite 300, San
Francisco, California, 94105, USA.
Ing. José M. Rincón B.
2. Objetivos
Al finalizar la clase, el estudiante estará capacitado para:
✗Describir las características de la tecnología de Java tales como la
maquina virtual de Java (JVM), el recolector de desechos (GC), y la
seguridad del código.
✗ Describir las diferentes fase de un programa en Java
3. Historia de Java
✗ Fue creado en 1991 por James Gosling de Sun Microsystems.
✗Inicialmente se llamo Oak, en honor a un árbol que estaba en frente
de la ventana de la oficina de Gosling, su nombre fue cambiado a
Java puesto que ya existía un lenguaje llamado Oak.
✗El motivo principal de Java fue la necesidad de un lenguaje de
plataforma independiente que se pudiera empotrar en varios
productos de consumo electrónicos, como tostadoras o neveras.
4. Historia de Java
✗Uno de los primeros proyectos desarrollados usando Java fue un
control remoto personal llamado Star7
✗Al mismo tiempo la World Wide Web y la Internet estaba
acumulando popularidad, entonces Gosling se percató de que Java
podía usarse incluso para programación en Internet.
5. Tecnología Java
✗Como un Lenguaje de Programación
Java puede crear todo tipo de aplicaciones que puedas crear usando
cualquier lenguaje convencional.
Como Entorno de Desarrollo
✗
La tecnología de Java provee una larga colección de herramientas:
1. un compilador (javac)
2. un interprete (java)
3. un generador de documentación (javadoc)
4. una herramienta de empaquetadora de archivos de clases
y así sucesivamente...
6. Tecnología Java
✗
Las aplicaciones de tecnología Java son programas típicos de propósito general
que corren en cualquier maquina donde el ambiente de ejecución de Java (Java
Runtime-Enviroment: JRE) este instalado.
✗ Hay dos medios de ambientes de despliegue:
1. El JRE surtido por el Kit de Desarrollo de Software Java (J2SDK) contiene
el set completo de archivos de clases de todo los paquetes de la tecnología
Java, lo cual incluye las clases del lenguaje básico, las clases para los
componente GUI(Interfaz Gráfica de Usuario), y así sucesivamente...
2. El otro medio de despliegue es tu navegador de internet, mucho de los
navegadores comerciales surten un interprete de tecnología Java y un entorno
de ejecución.
7. Características de Java
Algunas características de Java son:
✗ La Maquina Virtual de Java (JVM)
✗ Recolector de Desechos.
✗ Seguridad de Código.
8. La Maquina Virtual de Java
Maquina Virtual Java:
✗ Es una maquina imaginaria que esta implementada para emular
software en una maquina real.
✗ Provee la especificaciones de una plataforma de hardware en donde
puedes compilar todo el código de la tecnología Java.
Bytecode:
✗ Es un lenguaje maquina especial que puede ser entendido por la
Maquina Virtual Java (JVM).
✗ Independiente de cualquier hardware de computadora, lo cual
cualquier computadora con un interprete de Java puede ejecutar un
programa compilado en Java, sin importar el tipo de computadora en
donde fue compilado el programa.
9. EL Recolector de Desechos
Hilo de Recolector de Desechos:
✗Es responsable de librar cualquier memoria que puede ser liberado.
Esto sucede automáticamente durante el tiempo de vida de un
programa en Java.
✗Programadores se relevan de la tarea u carga de relocalizar esa
memoria ellos mismos.
10. Seguridad del Código
✗La seguridad del código es atenido por Java a través de la
implementación de su Entorno de Ejecución Java (JRE)
✗ JRE ejecuta el código compilado para una JVM y realiza la carga
de clase (a través del cargador de clases), verificación de código (a
través del verificador de código) y finalmente la ejecución del
código
11. Seguridad del Código
Cargador de Clases:
✗ Responsable de cargar todas las clases necesarias para el programa en Java.
✗ Añade seguridad al separar los nombres espaciados de las clases de los archivos
locales del sistema para aquellos que han sido importados desde la fuente de la
red.
✗ Después de cargar todas las clases, el esquema de la memoria del ejecutable es
determinado. Esto añade protección en contra de acceso no autorizado a áreas
restringidas del código ya que el esquema de la memoria es determinado durante
su ejecución.
Verificador Bytecode:
✗ Prueba el formato de los fragmentos de código y revisa los fragmentos de código
por códigos ilegales que puedan violar derecho de acceso hacia OBJETOS
12. Fases de un Programa en Java
La siguiente figura describe el proceso de compilación y ejecución
de un programa en Java
Una vez Muchas
Solamente veces
Compilador Interprete
Editor Java Java
Hola.java Hola.class
13. Fases de un Programa en Java
Herramientas a
Tareas Salida
Usar
Escribir el Programa Cualquier Editor de Archivo con
Texto extensión .java
Compilar el Compilador Java Archivo con
Programa extensión .class (Java
Bytecode)
Ejecutar el Programa Interprete Java Salida del Programa