Índice <ul><li>¿Qué es Java? </li></ul><ul><li>La plataforma Java 2 </li></ul><ul><li>La Máquina Virtual de Java </li></ul...
¿Qué es Java? <ul><li>La tecnología Java es un lenguaje de programación y una plataforma. </li></ul>
La plataforma Java 2 <ul><li>Una plataforma software que se ejecuta sobre otra plataforma hardware/software. </li></ul><ul...
La plataforma Java 2
Características Principales <ul><li>Sencillo </li></ul><ul><li>Orientado a objetos </li></ul><ul><li>Distribuido </li></ul...
Características: Sencillo <ul><li>Elimina algunas de las características de C y C++: </li></ul><ul><ul><li>No aritmética d...
Características: Orientado a objetos <ul><li>Java trabaja con sus datos como objetos y con interfaces a esos objetos. </li...
Características: Distribuido <ul><li>Concebido para trabajar en un entorno conectado en red. </li></ul><ul><li>En sí no es...
Características: Interpretado <ul><li>Compilador tradicional </li></ul><ul><ul><ul><ul><ul><li>Traslada sentencias alto-ni...
Características: Robusto <ul><li>No se interrumpe fácilmente. </li></ul><ul><li>Evita sobreescribir o corromper memoria me...
Características: Seguro <ul><li>Aplicaciones seguras ya que no acceden a zonas delicadas de memoria o de sistema  </li></u...
Características: Arquitectura neutra <ul><li>Java compila el código a un fichero objeto de formato independiente de la arq...
Características: Arquitectura neutra <ul><li>Código fuente se compila  </li></ul><ul><li>a un código de bytes  </li></ul><...
Características: Arquitectura neutra <ul><li>Elementos que forman parte de arquitectura de Java sobre una plataforma genér...
Características: Portable <ul><li>Más allá de la portabilidad básica por ser de arquitectura independiente. </li></ul>
Características: Altas prestaciones <ul><li>Compiladores JIT (Just in time): Compilan en el momento de ejecución. </li></u...
Características: Altas prestaciones <ul><li>Se introdujo un nuevo JIT: HotSpot. </li></ul><ul><ul><li>Incluye compilador d...
Características: Multithread <ul><li>Ejecución de varias tareas a la vez. Permite muchas actividades simultáneas en un pro...
Características: Dinámico <ul><li>No conecta todos los módulos que comprenden una aplicación hasta el mismo tiempo de ejec...
Características: Dinámico <ul><li>Capaz de traer automáticamente cualquier pieza que el sistema necesite para funcionar. <...
¿Qué ventajas tengo como desarrollador? <ul><li>Comenzar rápidamente. </li></ul><ul><li>Escribir menos código, 4 veces men...
Bibliografía <ul><li>Libro de texto: “Thinking in Java”. </li></ul><ul><li>Java Hispano:  www.javahispano.org . </li></ul>...
Upcoming SlideShare
Loading in …5
×

Java janner

530 views
428 views

Published on

Java - Introduccion

Published in: Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
530
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java janner

  1. 2. Índice <ul><li>¿Qué es Java? </li></ul><ul><li>La plataforma Java 2 </li></ul><ul><li>La Máquina Virtual de Java </li></ul><ul><li>Características principales </li></ul><ul><li>¿Qué ventajas tengo como desarrollador? </li></ul><ul><li>Bibliografía </li></ul>
  2. 3. ¿Qué es Java? <ul><li>La tecnología Java es un lenguaje de programación y una plataforma. </li></ul>
  3. 4. La plataforma Java 2 <ul><li>Una plataforma software que se ejecuta sobre otra plataforma hardware/software. </li></ul><ul><li>La Máquina Virtual Java La interfaz de Programación </li></ul><ul><li>(JVM) de Aplicaciones (API) </li></ul><ul><li>Intérprete de Java Conjunto de clases ya desarrolladas </li></ul>
  4. 5. La plataforma Java 2
  5. 6. Características Principales <ul><li>Sencillo </li></ul><ul><li>Orientado a objetos </li></ul><ul><li>Distribuido </li></ul><ul><li>Interpretado </li></ul><ul><li>Robusto </li></ul><ul><li>Seguro </li></ul><ul><li>Arquitectura neutra </li></ul><ul><li>Portable </li></ul><ul><li>Altas prestaciones </li></ul><ul><li>Multithread (multihilo) </li></ul><ul><li>Dinámico </li></ul>
  6. 7. Características: Sencillo <ul><li>Elimina algunas de las características de C y C++: </li></ul><ul><ul><li>No aritmética de punteros. </li></ul></ul><ul><ul><li>No existen referencias. </li></ul></ul><ul><ul><li>No existe typedef ni #define. </li></ul></ul><ul><ul><li>No sobrecarga operadores. </li></ul></ul><ul><ul><li>No herencia múltiple. </li></ul></ul><ul><ul><li>Posee clase String. </li></ul></ul><ul><ul><li>No necesidad de asignar y liberar memoria (Garbage Collector). </li></ul></ul>
  7. 8. Características: Orientado a objetos <ul><li>Java trabaja con sus datos como objetos y con interfaces a esos objetos. </li></ul><ul><li>Implementa: </li></ul><ul><ul><li>Encapsulación. - Interfaces. </li></ul></ul><ul><ul><li>Herencia simple. - Paquetes. </li></ul></ul><ul><ul><li>Abstracción. </li></ul></ul><ul><ul><li>Reutilización. </li></ul></ul><ul><ul><li>Polimorfismo. </li></ul></ul>
  8. 9. Características: Distribuido <ul><li>Concebido para trabajar en un entorno conectado en red. </li></ul><ul><li>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. </li></ul>
  9. 10. Características: Interpretado <ul><li>Compilador tradicional </li></ul><ul><ul><ul><ul><ul><li>Traslada sentencias alto-nivel a múltiples instrucciones. </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Creación de librerías como resultado de compilaciones previas. </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Juntando, se crea programa ejecutable. </li></ul></ul></ul></ul></ul><ul><li>Intérprete de ByteCodes </li></ul><ul><ul><ul><ul><ul><li>Compilador Java </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Traduce código fuente a código intermedio. </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Interprete de Java </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Virtual Machine(JVM) </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>(ByteCodes interpretados (ejecutados)) </li></ul></ul></ul></ul></ul>
  10. 11. Características: Robusto <ul><li>No se interrumpe fácilmente. </li></ul><ul><li>Evita sobreescribir o corromper memoria mediante punteros. </li></ul><ul><li>Manejo de excepciones. </li></ul><ul><li>Verificación de ByteCodes (por ejemplo no acceso ilegal de memoria). </li></ul>
  11. 12. Características: Seguro <ul><li>Aplicaciones seguras ya que no acceden a zonas delicadas de memoria o de sistema </li></ul><ul><ul><ul><li>No existen punteros, no acceso a zonas delicadas de memoria. </li></ul></ul></ul><ul><ul><ul><li>Una applet no puede acceder al sistema, a los archivos de la persona que lo está viendo. </li></ul></ul></ul>
  12. 13. Características: Arquitectura neutra <ul><li>Java compila el código a un fichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará. </li></ul><ul><li>Cualquier plataforma donde exista una JVM se puede ejecutar el código objeto independientemente de la máquina en el que ha sido generado. </li></ul>
  13. 14. Características: Arquitectura neutra <ul><li>Código fuente se compila </li></ul><ul><li>a un código de bytes </li></ul><ul><li>independientemente </li></ul><ul><li>de la máquina. </li></ul><ul><li>Los ByteCodes se </li></ul><ul><li>ejecutan en una </li></ul><ul><li>máquina hipotética </li></ul><ul><li>que se implementa </li></ul><ul><li>por un sistema </li></ul><ul><li>run-time, que es </li></ul><ul><li>dependiente </li></ul><ul><li>de la máquina. </li></ul>Tiempo de compilación Tiempo de ejecución
  14. 15. Características: Arquitectura neutra <ul><li>Elementos que forman parte de arquitectura de Java sobre una plataforma genérica. </li></ul><ul><li>Dependiente del sistema: </li></ul><ul><ul><li>JVM. </li></ul></ul><ul><ul><li>Librerías fundamentales. </li></ul></ul><ul><ul><li>APIs de Java que </li></ul></ul><ul><ul><li>entren en contacto </li></ul></ul><ul><ul><li>directo con el hardware. </li></ul></ul>
  15. 16. Características: Portable <ul><li>Más allá de la portabilidad básica por ser de arquitectura independiente. </li></ul>
  16. 17. Características: Altas prestaciones <ul><li>Compiladores JIT (Just in time): Compilan en el momento de ejecución. </li></ul><ul><ul><li>Traslada los bytecodes al </li></ul></ul><ul><ul><li>código máquina de la plataforma </li></ul></ul><ul><ul><li>según los va leyendo, realizando </li></ul></ul><ul><ul><li>cierto grado de optimización. </li></ul></ul><ul><ul><li>JIT no pierde tiempo en </li></ul></ul><ul><ul><li>optimizar código que no se ejecutará. </li></ul></ul>
  17. 18. Características: Altas prestaciones <ul><li>Se introdujo un nuevo JIT: HotSpot. </li></ul><ul><ul><li>Incluye compilador dinámico </li></ul></ul><ul><ul><li>y una máquina virtual para </li></ul></ul><ul><ul><li>Interpretar bytecodes. </li></ul></ul><ul><ul><li>Mejor soporte para ordenadores </li></ul></ul><ul><ul><li>con varios procesadores, </li></ul></ul><ul><ul><li>mayor escalabilidad. </li></ul></ul>
  18. 19. Características: Multithread <ul><li>Ejecución de varias tareas a la vez. Permite muchas actividades simultáneas en un programa. </li></ul><ul><li>Posee una serie de clases que facilitan su utilización. </li></ul><ul><li>Mejor rendimiento interactivo y mejor comportamiento en tiempo real. </li></ul>
  19. 20. Características: Dinámico <ul><li>No conecta todos los módulos que comprenden una aplicación hasta el mismo tiempo de ejecución. </li></ul><ul><li>Las librerías nuevas o actualizadas no paralizan la ejecución de las aplicaciones siempre que mantengan la API anterior. </li></ul>
  20. 21. Características: Dinámico <ul><li>Capaz de traer automáticamente cualquier pieza que el sistema necesite para funcionar. </li></ul>
  21. 22. ¿Qué ventajas tengo como desarrollador? <ul><li>Comenzar rápidamente. </li></ul><ul><li>Escribir menos código, 4 veces menos que en C++. </li></ul><ul><li>Escribir mejor código. </li></ul><ul><li>Desarrollar programas más rápidamente. </li></ul><ul><li>Eliminar dependencias de la plataforma. </li></ul><ul><li>Escribir una vez, ejecutar en cualquier parte. </li></ul>
  22. 23. Bibliografía <ul><li>Libro de texto: “Thinking in Java”. </li></ul><ul><li>Java Hispano: www.javahispano.org . </li></ul><ul><li>Tutoriales de internet. </li></ul>

×