La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Java y Desarrollo de Aplicaciones

Presentaciones similares


Presentación del tema: "Programación Java y Desarrollo de Aplicaciones"— Transcripción de la presentación:

1 Programación Java y Desarrollo de Aplicaciones
Modulo 3 Lenguaje de programación Java Tema 08 Introducción a Java

2 Índice ¿Qué es Java? Aspectos generales Versiones de Java
Enlaces de interés Bibliografía

3 ¿Qué es Java? Un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90. La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre.

4 ¿Qué es Java? ¿Cuál es el motivo por el que Java se expande y adquiere tanto éxito? Orígenes de la informática: movimiento hippy. Aspectos económicos del desarrollo de software. Idealismo Vs. Economía. Primeros sistemas operativos. Expansión mundial a nivel personal. Software libre y licencias de software. GNU GPL. Internet.

5 Aspectos generales Multiplataforma
Los programas escritos en el lenguaje Java pueden ejecutarse igualmente en cualquier tipo de hardware. Este es el significado de ser capaz de escribir un programa una vez y que pueda ejecutarse en cualquier dispositivo, tal como reza el axioma de Java, “write once, run anywhere”. Para ello, se compila el código fuente escrito en lenguaje Java, para generar un código conocido como “bytecode” (específicamente Java bytecode) -instrucciones máquina simplificadas específicas de la plataforma Java. Esta pieza está “a medio camino” entre el código fuente y el código máquina que entiende el dispositivo destino. El bytecode es ejecutado entonces en la máquina virtual (JVM), un programa escrito en código nativo de la plataforma destino (que es el que entiende su hardware), que interpreta y ejecuta el código. Además, se suministran bibliotecas adicionales para acceder a las características de cada dispositivo (como los gráficos, ejecución mediante hebras o threads, la interfaz de red) de forma unificada. Se debe tener presente que, aunque hay una etapa explícita de compilación, el bytecode generado es interpretado o convertido a instrucciones máquina del código nativo por el compilador JIT (Just In Time).

6 Aspectos generales Máquina virtual
La máquina virtual de Java puede estar implementada en software, hardware, una herramienta de desarrollo o un Web browser; lee y ejecuta código precompilado bytecode que es independiente de la plataforma. La JVM provee definiciones para un conjunto de instrucciones, un conjunto de registros, un formato para archivos de clases, la pila, un heap con recolector de basura y un área de memoria. Cualquier implementación de la JVM que sea aprobada por SUN debe ser capaz de ejecutar cualquier clase que cumpla con la especificación.

7 Aspectos generales Recolector de basura
En Java el problema de las fugas de memoria se evita en gran medida gracias a la recolección de basura (o automatic garbage collector). El programador determina cuándo se crean los objetos y el entorno en tiempo de ejecución de Java (Java runtime) es el responsable de gestionar el ciclo de vida de los objetos. El programa, u otros objetos pueden tener localizado un objeto mediante una referencia a éste. Cuando no quedan referencias a un objeto, el recolector de basura de Java borra el objeto, liberando así la memoria que ocupaba previniendo posibles fugas (ejemplo: un objeto creado y únicamente usado dentro de un método sólo tiene entidad dentro de éste; al salir del método el objeto es eliminado). Aun así, es posible que se produzcan fugas de memoria si el código almacena referencias a objetos que ya no son necesarios—es decir, pueden aún ocurrir, pero en un nivel conceptual superior. En definitiva, el recolector de basura de Java permite una fácil creación y eliminación de objetos, mayor seguridad y puede que más rápida que en C++.

8 Versiones de Java La empresa Sun Microsystems lanzó a mediados de los años 90 el lenguaje de programación Java que, aunque en un principio fue diseñado para generar aplicaciones que controlaran electrodomésticos como lavadoras, frigoríficos, etc, debido a su gran robustez e independencia de la plataforma donde se ejecutase el código, desde sus comienzos se utilizó para la creación de componentes interactivos integrados en páginas Web y programación de aplicaciones independientes. Estos componentes se denominaron applets y casi todo el trabajo de los programadores se dedicó al desarrollo de éstos.

9 Versiones de Java Con los años, Java ha progresado enormemente en varios ámbitos como servicios HTTP, servidores de aplicaciones, acceso a bases de datos (JDBC)... Como vemos Java se ha ido adaptando a las necesidades tanto de los usuarios como de las empresas ofreciendo soluciones y servicios tanto a unos como a otros.

10 Versiones de Java Debido a la explosión tecnológica de estos últimos años Java ha desarrollado soluciones personalizadas para cada ámbito tecnológico. Sun ha agrupado cada uno de esos ámbitos en una edición distinta de su lenguaje Java: Java 2 Stantard Edition (J2SE), orientada al desarrollo de aplicaciones independientes y de applets. Java 2 Enterprise Edition (J2EE), enfocada al entorno empresarial. Java 2 Micro Edition, orientada a la programación de aplicaciones para pequeños dispositivos.

11 Versiones de Java Java 2 Platform, Standard Edition (J2SE):
Esta edición de Java es la que en cierta forma recoge la iniciativa original del lenguaje Java. Inspirado inicialmente en C++, pero con componentes de alto nivel, como soporte nativo de strings y recolector de basura. Código independiente de la plataforma, precompilado a bytecodes intermedio y ejecutado en el cliente por una JVM (Java Virtual Machine). Modelo de seguridad tipo sandbox proporcionado por la JVM. Abstracción del sistema operativo subyacente mediante un juego completo de APIs de programación.

12 Versiones de Java Java 2 Platform, Enterprise Edition (J2EE):
Esta versión está orientada al entorno empresarial. El software empresarial tiene unas características propias marcadas: está pensado no para ser ejecutado en un equipo, sino para ejecutarse sobre una red de ordenadores de manera distribuida y remota mediante EJBs (Enterprise Java Beans). De hecho, el sistema se monta sobre varias unidades o aplicaciones. En muchos casos, además, el software empresarial requiere que se sea capaz de integrar datos provenientes de entornos heterogéneos. Esta edición está orientada especialmente al desarrollo de servicios web, servicios de nombres, persistencia de objetos, XML, autenticación, APIs para la gestión de transacciones, etc. El cometido de esta especificación es ampliar la J2SE para dar soporte a los requisitos de las aplicaciones de empresa.

13 Versiones de Java Java 2 Platform, Micro Edition (J2ME):
Esta versión de Java está enfocada a la aplicación de la tecnología Java en dispositivos electrónicos con capacidades computacionales y gráficas muy reducidas, tales como teléfonos móviles, PDAs o electrodomésticos inteligentes. Esta edición tiene unos componentes básicos que la diferencian de las otras versiones, como el uso de una máquina virtual denominada KVM (Kilo Virtual Machine, debido a que requiere sólo unos pocos Kilobytes de memoria para funcionar) en vez del uso de la JVM clásica, inclusión de un pequeño y rápido recolector de basura y otras diferencias que ya iremos viendo más adelante.

14 Versiones de Java … aunque también veremos aspectos propios de la versión J2EE 6.0 En este curso nos centraremos fundamentalmente en la versión J2SE 6.0… e incluso de J2ME

15 Enlaces de interés Foro JavaHispano Página oficial de Java
Página oficial de Java Tutorial Web “Programacion”

16 Bibliografía Manual Imprescindible Java SE6 Wikipedia “Java a tope”
F. Javier Moldes Teo, Editorial Anaya. Wikipedia es.wikipedia.org “Java a tope” Sergio Gálvez Rojas - Lucas Ortega Díaz Dpto. de Lenguajes y Ciencias de la Computación E.T.S. de Ingeniería Informática Universidad de Málaga


Descargar ppt "Programación Java y Desarrollo de Aplicaciones"

Presentaciones similares


Anuncios Google