Java

Evolución de Java

  • Period: to

    Origen

    Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada The Green Project en Sun Microsystems en 1991. El equipo (Green Team), compuesto por trece personas y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road, en Menlo Park, para desarrollarlo.
  • 1991

    1991
    El lenguaje se denominó inicialmente Oak (por un roble que había fuera de la oficina de Gosling), luego pasó a llamarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas gráficas, y finalmente se le renombró Java.
  • Java 1.0

    Java 1.0
    En 1994, se les hizo una demostración de HotJava y la plataforma Java a los ejecutivos de Sun. Java 1.0a pudo descargarse por primera vez en 1994, pero hubo que esperar al 23 de mayo de 1995, durante las conferencias de SunWorld, a que vieran la luz pública Java y HotJava, el navegador Web.
  • Hotjava

    Hotjava
    Entre junio y julio de 1994, tras una sesión maratoniana de tres días entre John Gaga, James Gosling, Patrick Naughton, Wayne Rosing y Eric Schmidt, el equipo reorientó la plataforma hacia la Web. Sintieron que la llegada del navegador web Mosaic propiciaría que Internet se convirtiese en un medio interactivo, como el que pensaban era la televisión por cable. Naughton creó entonces un prototipo de navegador, WebRunner, que más tarde sería conocido como HotJava.
  • JDK 1.0

    JDK 1.0
    Primer lanzamiento: comunicado de prensa.
  • JDK 1.1

    JDK 1.1
    Principales adiciones incluidas: comunicado de prensa
    una reestructuración intensiva del modelo de eventos AWT (Abstract Windowing Toolkit)
    clases internas (inner classes)
    JavaBeans
    JDBC (Java Database Connectivity), para la integración de bases de datos
    RMI (Remote Method Invocation).
  • J2SE 1.2

    J2SE 1.2
    Esta y las siguientes versiones fueron recogidas bajo la denominación Java 2.
    La palabra reservada (keyword) strictfp
    reflexión en la programación
    la API gráfica ( Swing) fue integrada en las clases básicas
    la máquina virtual (JVM) de Sun fue equipada con un compilador JIT (Just in Time) por primera vez
    Java Plug-in
    Java IDL, una implementación de IDL (Lenguaje de Descripción de Interfaz) para la interoperabilidad con CORBA
    Colecciones (Collections).
  • J2SE 1.3 (Kestrel)

    J2SE 1.3 (Kestrel)
    Los cambios más notables fueron:
    a inclusión de la máquina virtual de HotSpot JVM (la JVM de HotSpot fue lanzada inicialmente en abril de 1999, para la JVM de J2SE 1.2)
    RMI fue cambiado para que se basara en CORBA
    JavaSound
    se incluyó el Java Naming and Directory Interface (JNDI) en el paquete de bibliotecas principales (anteriormente disponible como una extensión)
    Java Platform Debugger Architecture (JPDA).
  • J2SE 1.4 (Merlin)

    J2SE 1.4 (Merlin)
    Los cambios fueron:
    Palabra reservada assert (Especificado en JSR 41.)
    Expresiones regulares modeladas al estilo de las expresiones regulares Perl
    Encadenación de excepciones Permite a una excepción encapsular la excepción de bajo nivel original.
    non-blocking NIO (New Input/Output) (Especificado en JSR 51.)
    Logging API (Specified in JSR 47.)
    API I/O para la lectura y escritura de imágenes en formatos como JPEG o PNG
    Seguridad integrada y extensiones criptográficas (JCE, JSSE, JAAS)
  • J2SE 5.0 (Tiger)

    J2SE 5.0 (Tiger)
    Desarrollado bajo JSR 176, Tiger añadió un número significativo de nuevas características:
    Plantillas: provee conversión de tipos (type safety) en tiempo de compilación para colecciones y elimina la necesidad de la mayoría de conversión de tipos (type casting).
    Metadatos: también llamados anotaciones, permite a estructuras del lenguaje como las clases o los métodos, ser etiquetados con datos adicionales, que puedan ser procesados posteriormente por utilidades de proceso de metadatos.
  • J2SE 5.0 (Tiger)

    J2SE 5.0 (Tiger)
    Enumeraciones: la palabra reservada enum crea una typesafe, lista ordenada de valores (como Dia.LUNES, Dia.MARTES, etc.). Anteriormente, esto solo podía ser llevado a cabo por constantes enteras o clases construidas manualmente (enum pattern). Bucle For mejorado — La sintaxis para el bucle For se ha extendido con una sintaxis especial para iterar sobre cada miembro de un array o sobre cualquier clase que implemente Iterable, como la clase estándar Collection.
  • Java SE 6 (Mustang)

    Java SE 6 (Mustang)
    En esta versión, Sun cambió el nombre "J2SE" por Java SE
    Incluye un nuevo marco de trabajo y API que hacen posible la combinación de Java con lenguajes dinámicos como PHP, Python, Ruby y JavaScript.
    Incluye el motor Rhino, de Mozilla, una implementación de JavaScript en Java.
    Incluye un cliente completo de Servicios Web y soporta las últimas especificaciones para Servicios Web, como JAX-WS 2.0, JAXB 2.0, STAX y JAXP.
    Mejoras en la interfaz gráfica y en el rendimiento.
  • Java SE 7 (Dolphin)

    Java SE 7 (Dolphin)
    En el año 2006 aún se encontraba en las primeras etapas de planificación. Su lanzamiento fue en julio de 2011. Soporte para XML dentro del propio lenguaje.
    Un nuevo concepto de superpaquete.
    Introducción de anotaciones estándar para detectar fallos en el software. No oficiales: NIO2.
    Java Module System.
    Java Kernel.
    Nueva API para el manejo de Días y Fechas, la cual reemplazará las antiguas clases Date y Calendar.
    Posibilidad de operar con clases BigDecimal usando operandos.
  • Java SE 8

    Java SE 8
    Cabe destacar: Incorpora de forma completa la librería Java.
    Diferentes mejoras en seguridad.
    Diferentes mejoras en concurrencia.
    Añade funcionalidad para programación funcional mediante expresiones Lambda.
    Mejora la integración de JavaScript.
    Nuevas API para manejo de fechas y tiempo (date - time).
  • Java 9

    Java 9
    lanzada el 21 de septiembre del 2017.
  • Java SE 10

    Java SE 10
    lanzada el 20 de marzo de 2018.
  • Java SE 11

    Java SE 11
    lanzada el 25 de septiembre de 2018.
  • Java SE 12

    Java SE 12
    lanzada el 19 de marzo de 2019.