java
Programación Orientada a Objetos
Facultad de Informática
Juan Pavón Mestras
Dep. Sistemas Informáticos y Programación
Universidad Complutense Madrid
¿Qué es Java?
brewed coffee
la bebida preferida de los programadores
(al menos en USA)
Juan Pavón Mestras
Facultad de Informática UCM, 2004
Java
2
Historia de Java
Abril 1991: Proyecto Green(Sun) software para dispositivos
electrónicos inteligentes y televisión interactiva. Se trataba de
desarrollar un entorno de operación fiable, portable y eficiente.
El resultado: Lenguaje Oak (James Gosling)
Principio 1994: El equipo se reduce ante el escaso crecimiento
del mercado PDA y STB, y tras perder acuerdos con TimeWarner y 3DO, se reorienta hacia WWW:
Los requisitos del softwareson los mismos en WWW
1994: WebRunner (luego HotJava): navegador Web escrito en
Java
23 mayo 1995 (SunWorld ‘95): Anuncio de la release alpha de
Java
Java se distribuye gratuitamente
Finales 1995: Primera integración Netscape+Java
Juan Pavón Mestras
Facultad de Informática UCM, 2004
Java
3
¿Qué es Java?
Un lenguaje de programación orientado a objetos
desarrollado por SunMicrosystems
Encapsulación, herencia y polimorfismo
Fuertemente tipado
Gestión automática de la memoria (recogida de basura)
Soporte para concurrencia (multihilo)
Gestión de excepciones
Constructores independientes de la arquitectura del
procesador
Juan Pavón Mestras
Facultad de Informática UCM, 2004
Java
4
¿Qué es Java?
… acompañado por un conjunto de bibliotecas
(packages,conjuntos de clases)
Desarrollo de interfaces gráficas de usuario (AWT, Swing)
Conectividad (sockets, RMI, IDL, JDBC)
Utilidades (Vector, Stack, Hashtable, Date, etc.)
Funciones matemáticas
Gráficos 2D y 3D
Interacción y multimedia (Media, JMF, Speech, Animation,
Collaboration, Telephony)
Etcétera, etcétera, ...
Juan Pavón Mestras
Facultad de Informática UCM, 2004
Java
5
¿Quées Java?
Apropiado para Internet
Ejecutable en múltiples plataformas
Fácil de distribuir
Seguridad
Soporte para interacción con el usuario:
• Gráficos
• Tipos de datos arbitrarios
• Descarga el servidor
Juan Pavón Mestras
Facultad de Informática UCM, 2004
Java
6
¿Qué es Java?
Según Sun:
Sencillo, Orientado a objetos, y Familiar
Robusto y Seguro
Independiente de laarquitectura y portable
Alto rendimiento
Interpretado, Concurrente, y Dinámico
Juan Pavón Mestras
Facultad de Informática UCM, 2004
7
Java
Arquitectura de Máquina Virtual Java
Código fuente Java
Cargador
de clases
1
Verificador
De ByteCode
Internet
Compilador
Java
Intérprete
2
Java ByteCode
(código máquina de
la MVJ)
Juan Pavón Mestras
Facultad de InformáticaUCM, 2004
3
Java2c
Run time
Environ
ment
Java
Just-intime
Compiler
Hardware
Linux
Solaris
Windows
MacOS 8
Java e Internet
Un nuevo paradigma de software
Software bajo demanda:
• El software se carga de la red
• cuando es necesario
• lo que es estrictamente necesario
• sin necesidad de instalación
• Se puede controlar el uso del software
No hacen faltaactualizaciones software individuales
• Las versiones nuevas reemplazan a las anteriores de forma
invisible
No hay problemas de configuración específicos del HW
• Codifica una vez, ejecuta en varias plataformas
Juan Pavón Mestras
Facultad de Informática UCM, 2004
Java
9
La máquina virtual de Java (MVJ)
Java se ejecuta en un computador simulado
Portabilidad
Protección
Paraportar todo el código Java, portar la MVJ
Otras arquitecturas de MV:
UCSD P-system, Apple Newton, Smalltalk, Emacs, ...
La máquina virtual Java es sofisticada:
Multihilo (Threads)
Recogida de basura
Juan Pavón Mestras
Facultad de Informática UCM, 2004
Java
10
La máquina virtual de Java (MVJ)
Entorno de compilación y ejecución tradicional
Programa
Programa
fuente
fuente...
Regístrate para leer el documento completo.