Está en la página 1de 22

Introduccin a la tecnologa Java.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.0

Objetivos.
Entender qu es la Tecnologa Java. Distinguir los principales tipos de programas Java. Conocer los objetivos de diseo de Java. Entender como se logran los objetivos de diseo de Java.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.1

Qu es la Tecnologa Java?
Lenguaje de Programacin. Ambiente de desarrollo. Ambiente de ejecucin de aplicacin. Ambiente de distribucin de aplicaciones.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.2

Tipos de Programas Java.


Aplicaciones.
Programas convencionales que corren bajo control del Sistema Operativo.

Applets.
Programas que corren bajo un browser de Web (Explorer, Firefox, etc.).

Java Beans.
Componentes Java que siguen una serie de convenciones preestablecidas.

Servlets.
Aplicaciones que se ejecutan en un Servidor de Aplicaciones y manejan, en general, los procesos de control de una aplicacin Web.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.3

Tipos de Programas Java (2).


JSPs (Java Server Pages).
Documentos tipo HTML que son convertidos a Servlets por el Servidor de Aplicaciones y normalmente manejan la presentacin de datos de la aplicacin.

EJBs (Enterprise Java Beans).


Aplicaciones que se ejecutan en un Servidor de Aplicaciones que implementan generalmente la lgica empresarial del Sistema.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.4

Objetivos Primarios de Java.


Facilidad de Uso. Portable entre plataformas diversas. Orientado a Objetos. Multithreading.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.5

Facilidad de uso.
Sintaxis basada en C++. Semntica basada en Smalltalk. Simplifica ambos lenguajes. Autodocumentable.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.6

Portabilidad.

Compilacin e Interpretacin. Corre en cualquier ambiente que soporte Mquina Virtual de Java.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.7

Orientacin a Objetos.
Tecnologa probada. Permite representar situaciones de la vida real naturalmente. En Java todo se basa en clases y objetos.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.8

Multithreading.
Facilidades integradas en la API de Java. Permite aprovechar la velocidad del procesador. Permite hacer programas complejos y profesionales fcilmente.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.9

Logro de los objetivos.

Por medio de 3 mecanismos principales:


Mquina Virtual de Java. Recoleccin de basura. Seguridad del cdigo.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.10

Mquina Virtual de Java.


Mquina imaginaria que es implementada ya sea mediante emulacin de software o en una mquina real. El cdigo que ejecuta la mquina virtual se encuentra en archivos .class que son resultado de la compilacin del programa fuente

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.11

Mquina Virtual de Java (2).


Contiene especificaciones de hardware.
Instruction set Register set Stack Heap (garbage-collected) Memoria Formato de los archivos .class

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.12

Mquina Virtual de Java (3).


Sus instrucciones son los byte codes, resultado de la compilacin. Se implementa en software o en hardware. Como software en diversas plataformas o en browsers de la Web.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.13

Mquina Virtual de Java (4).


El formato de los byte codes est claramente especificado y es sencillo. Cada implementacin de la JVM debe poder ejecutar cualquier archivo .class. Existen implementaciones en muchas plataformas.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.14

Recoleccin de basura.
Libera memoria no utilizada sin intervencin del programador.
(En otros lenguajes es responsabilidad del programador).

Es un contexto de ejecucin (thread) de la Mquina Virtual. Se hace en forma totalmente automtica.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.15

Compilacin y Seguridad del cdigo.


Java compiler Java Runtime Environment

Hola.java

Class Loader

RED
Compilador

Byte Code Verifier

Hola.class

Intrprete o Compilador JIT

Mquina de Desarrollo
Introduccin a la Tecnologa Java. Laboratorio de Software

Mquina de Ejecucin
Pgina 1.16

Java Runtime Environment.


Carga el cdigo del archivo .class
Class loader

Verifica que est correcto.


Bytecode verifier

Ejecuta el cdigo
Runtime interpreter
Introduccin a la Tecnologa Java. Laboratorio de Software Pgina 1.17

Bytecode Verifier.
Nos asegura que:
El cdigo cumple las especificaciones de la JVM. No viola la integridad del sistema. No causa overflows de memoria Los tipos de parmetros son los correctos No hay conversiones ilegales de datos.

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.18

Ejemplo de Aplicacin.
// Programa mnimo de ejemplo public class HolaMundo { public static void main(String[ ] args) { System.out.println(Hola Mundo); } }
Archivo HolaMundo.java

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.19

Compilacin y Ejecucin.
Compilacin: javac HolaMundo.java
(produce archivo HolaMundo.class)

Ejecucin: java HolaMundo

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.20

La API de java.
Cientos de clases agrupadas en paquetes. Principales paquetes:
java.lang java.applet java.net java.io java.util

Introduccin a la Tecnologa Java.

Laboratorio de Software

Pgina 1.21

También podría gustarte