introducciÓn a java. e.t.s de ingenieros de telecomunicación - upna.2 Índice ¿qué es java? la...

23
INTRODUCCIÓN A JAVA

Upload: mauricio-pizarro

Post on 16-Apr-2015

11 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

INTRODUCCIÓN A JAVA

Page 2: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .2

Índice

• ¿Qué es Java?

• La plataforma Java 2

• La Máquina Virtual de Java

• Características principales

• ¿Qué ventajas tengo como desarrollador?

• Bibliografía

Page 3: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .3

¿Qué es Java?

La tecnología Java es un lenguaje de programación y

una plataforma.

Page 4: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .4

La plataforma Java 2

• Una plataforma software que se ejecuta sobre otra plataforma hardware/software.

• La Máquina Virtual Java La interfaz de Programación

(JVM) de Aplicaciones (API)

Intérprete de Java Conjunto de clases ya desarrolladas

Page 5: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .5

La plataforma Java 2

Page 6: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .6

Características Principales

• Sencillo• Orientado a objetos• Distribuido• Interpretado• Robusto• Seguro

• Arquitectura neutra• Portable• Altas prestaciones• Multithread (multihilo)• Dinámico

Page 7: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .7

Características: Sencillo

• Elimina algunas de las características de C y C++:– No aritmética de punteros.– No existen referencias.– No existe typedef ni #define.– No sobrecarga operadores.– No herencia múltiple.– Posee clase String.– No necesidad de asignar y liberar memoria (Garbage

Collector).

Page 8: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .8

Características: Orientado a objetos

• Java trabaja con sus datos como objetos y con interfaces a esos objetos.

• Implementa:– Encapsulación. - Interfaces.– Herencia simple. - Paquetes.– Abstracción.– Reutilización.– Polimorfismo.

Page 9: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .9

Características: Distribuido

• Concebido para trabajar en un entorno conectado en red.

• En sí no es distribuido, proporciona librerías y herramientas para que los programas puedan ser distribuidos, que los programas corran en varias máquinas interactuando.

Page 10: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .10

Características: Interpretado

• Compilador tradicional

» Traslada sentencias alto-nivel a múltiples instrucciones.

» Creación de librerías como resultado de compilaciones previas.

» Juntando, se crea programa ejecutable.

• Intérprete de ByteCodes

» Compilador Java

Traduce código fuente a código intermedio.

» Interprete de Java

Virtual Machine(JVM)

(ByteCodes interpretados (ejecutados))

Page 11: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .11

Características: Robusto

• No se interrumpe fácilmente.

• Evita sobreescribir o corromper memoria mediante punteros.

• Manejo de excepciones.

• Verificación de ByteCodes (por ejemplo no acceso ilegal de memoria).

Page 12: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .12

Características: Seguro

• Aplicaciones seguras ya que no acceden a zonas delicadas de memoria o de sistema

• No existen punteros, no acceso a zonas delicadas de memoria.

• Una applet no puede acceder al sistema, a los archivos de la persona que lo está viendo.

Page 13: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .13

Características: Arquitectura neutra

• Java compila el código a un fichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará.

• Cualquier plataforma donde exista una JVM se puede ejecutar el código objeto independientemente de la máquina en el que ha sido generado.

Page 14: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .14

Características: Arquitectura neutra

• Código fuente se compila

a un código de bytes

independientemente

de la máquina.• Los ByteCodes se

ejecutan en una

máquina hipotética

que se implementa

por un sistema

run-time, que es

dependiente

de la máquina.

Tiempo de compilaciónTiempo de ejecución

Page 15: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .15

Características: Arquitectura neutra

• Elementos que forman parte de arquitectura de Java sobre una plataforma genérica.

• Dependiente del sistema:– JVM.

– Librerías fundamentales.

– APIs de Java que

entren en contacto

directo con el hardware.

Page 16: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .16

Características: Portable

• Más allá de la portabilidad básica por ser de arquitectura

independiente.

Page 17: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .17

Características: Altas prestaciones

• Compiladores JIT (Just in time): Compilan en el momento de ejecución.– Traslada los bytecodes al

código máquina de la plataforma

según los va leyendo, realizando

cierto grado de optimización.– JIT no pierde tiempo en

optimizar código que no se ejecutará.

Page 18: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .18

Características: Altas prestaciones

• Se introdujo un nuevo JIT: HotSpot.

– Incluye compilador dinámico

y una máquina virtual para

Interpretar bytecodes.– Mejor soporte para ordenadores

con varios procesadores,

mayor escalabilidad.

Page 19: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .19

Características: Multithread

• Ejecución de varias tareas a la vez. Permite muchas actividades simultáneas en un programa.

• Posee una serie de clases que facilitan su utilización.

• Mejor rendimiento interactivo y mejor comportamiento en tiempo real.

Page 20: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .20

Características: Dinámico

• No conecta todos los módulos que comprenden una aplicación hasta el mismo tiempo de ejecución.

• Las librerías nuevas o actualizadas no paralizan la ejecución de las aplicaciones siempre que mantengan la API anterior.

Page 21: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .21

Características: Dinámico

• Capaz de traer automáticamente cualquier pieza que el sistema necesite para funcionar.

Page 22: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .22

¿Qué ventajas tengo como desarrollador?

• Comenzar rápidamente.

• Escribir menos código, 4 veces menos que en C++.

• Escribir mejor código.

• Desarrollar programas más rápidamente.

• Eliminar dependencias de la plataforma.

• Escribir una vez, ejecutar en cualquier parte.

Page 23: INTRODUCCIÓN A JAVA. E.T.S de Ingenieros de Telecomunicación - UPNA.2 Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características

E.T.S de Ingenieros de Telecomunicación - UPNA .23

Bibliografía

• Libro de texto: “Thinking in Java”.

• Java Hispano: www.javahispano.org.

• Tutoriales de internet.