INTRODUCCIÓN A JAVA
Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador? Bibliografía
¿Qué es Java? La tecnología Java es un lenguaje de programación y una plataforma.
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
La plataforma Java 2
Características Principales Sencillo Orientado a objetos Distribuido Interpretado Robusto Seguro Arquitectura neutra Portable Altas prestaciones Multithread (multihilo) Dinámico
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).
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.
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.
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))
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).
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.
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.
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ón Tiempo de ejecución
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.
Características: Portable Más allá de la portabilidad básica por ser de arquitectura independiente.
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á.
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.
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.
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.
Características: Dinámico Capaz de traer automáticamente cualquier pieza que el sistema necesite para funcionar.
¿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.
Bibliografía Libro de texto: “Thinking in Java”. Java Hispano:  www.javahispano.org . Tutoriales de internet.

Introducción a JAVA.

  • 1.
  • 2.
    Índice ¿Qué esJava? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador? Bibliografía
  • 3.
    ¿Qué es Java?La tecnología Java es un lenguaje de programación y una plataforma.
  • 4.
    La plataforma Java2 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
  • 5.
  • 6.
    Características Principales SencilloOrientado a objetos Distribuido Interpretado Robusto Seguro Arquitectura neutra Portable Altas prestaciones Multithread (multihilo) Dinámico
  • 7.
    Características: Sencillo Eliminaalgunas 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).
  • 8.
    Características: Orientado aobjetos 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.
  • 9.
    Características: Distribuido Concebidopara 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.
  • 10.
    Características: Interpretado Compiladortradicional 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))
  • 11.
    Características: Robusto Nose interrumpe fácilmente. Evita sobreescribir o corromper memoria mediante punteros. Manejo de excepciones. Verificación de ByteCodes (por ejemplo no acceso ilegal de memoria).
  • 12.
    Características: Seguro Aplicacionesseguras 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.
  • 13.
    Características: Arquitectura neutraJava 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.
  • 14.
    Características: Arquitectura neutraCó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ón Tiempo de ejecución
  • 15.
    Características: Arquitectura neutraElementos 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.
  • 16.
    Características: Portable Másallá de la portabilidad básica por ser de arquitectura independiente.
  • 17.
    Características: Altas prestacionesCompiladores 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á.
  • 18.
    Características: Altas prestacionesSe 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.
  • 19.
    Características: Multithread Ejecuciónde 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.
  • 20.
    Características: Dinámico Noconecta 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.
  • 21.
    Características: Dinámico Capazde traer automáticamente cualquier pieza que el sistema necesite para funcionar.
  • 22.
    ¿Qué ventajas tengocomo 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.
  • 23.
    Bibliografía Libro detexto: “Thinking in Java”. Java Hispano: www.javahispano.org . Tutoriales de internet.