Java: un término general para el lenguaje de programación Java y la plataforma Java lanzada por Sun Microsystems en mayo de 1995. Java es un lenguaje de programación orientado a objetos que puede escribir software de aplicaciones multiplataforma. Fue desarrollado a principios de la década de 1990 por James Gosling, quien trabajaba en Sun Microsystems en ese momento. Originalmente se llamaba Oak. Con el rápido desarrollo de Internet, Java se ha convertido gradualmente en un importante lenguaje de programación de redes.
Han pasado diecinueve años desde que nació la primera versión de Java. El tiempo pasa y pasa en un instante. Han pasado 19 años en un abrir y cerrar de ojos. En la línea de tiempo que se muestra en la figura a continuación, vemos que JDK se ha desarrollado para la versión 1.8. En estos 19 años, han nacido innumerables productos, tecnologías y estándares relacionados con Java. Ahora ingresemos al túnel de tiempo y comencemos desde la época en que se alimentó el idioma Java, y revise la trayectoria de desarrollo y los cambios históricos de Java.
En abril de 1991, se lanzó el Proyecto Verde, dirigido por el Dr. James Gosling, con el objetivo de desarrollar una arquitectura de programa que pueda ejecutarse en una variedad de productos electrónicos de consumo como cajas establecidas, refrigeradores, radios, etc. El producto de este proyecto es el predecesor del lenguaje Java: OAK (OAK). Oak no tuvo éxito en el mercado de bienes de consumo en ese momento, pero con el aumento de la tendencia de Internet en 1995, Oak rápidamente encontró la posición del mercado que se adapta a su desarrollo y se transformó en un idioma Java.
El 23 de mayo de 1995, el idioma de roble pasó a llamarse Java y la versión Java 1.0 se lanzó oficialmente en la Conferencia Sunworld. Java Language presentó primero el eslogan "Escribir una vez, ejecutar en cualquier lugar".
El 23 de enero de 1996, se lanzó JDK 1.0, y el idioma Java tenía su primera versión oficial del entorno de ejecución. JDK 1.0 proporciona una ejecución puramente interpretada Java Virtual Machine Implementation (Sun Classic VM). Las tecnologías representativas de JDK versión 1.0 incluyen: Java Virtual Machines, AWT, etc.
En abril de 1996, 10 de los proveedores de sistemas operativos más importantes anunciaron que integrarían la tecnología Java en sus productos. En septiembre del mismo año, se produjeron alrededor de 83,000 páginas web utilizando la tecnología Java. A finales de mayo de 1996, Sun celebró su primera conferencia Javaone en San Francisco, EE. UU. Desde entonces, Javaone se ha convertido en un evento técnico anual para millones de desarrolladores de idiomas de Java en todo el mundo.
El 19 de febrero de 1997, Sun lanzó JDK 1.1. Algunos de los puntos de soporte más básicos de la tecnología Java (como JDBC, etc.) se lanzaron en la versión JDK 1.1. Los representantes técnicos de la versión JDK 1.1 incluyen: formato de archivo JAR, JDBC, Javabeans y RMI. La sintaxis de Java también se ha desarrollado hasta cierto punto, como la clase interna y la reflexión que aparece en este momento.
Hasta el 8 de abril de 1999, JDK 1.1 lanzó un total de nueve versiones: 1.1.0 a 1.1.8. Desde 1.1.4, cada versión JDK tiene su propio nombre (código de proyecto), a saber: JDK 1.1.4 - Sparkler (GEM), JDK 1.1.5 - Pumpkin (Pumpkin), JDK 1.1.6 - Abigail (Abigail, nombre femenino), JDK 1.1.7 - Brutus (Brutu, Roman Político y General) y JDK 1.1.8 Chelea (CheleA (CheleA).
El 4 de diciembre de 1998, JDK introdujo una versión hito de JDK 1.2, con el nombre de código de código de proyecto Playground. En esta versión, Sun divide el sistema de tecnología Java en tres direcciones, a saber, J2SE (plataforma Java 2, edición estándar), J2EE (plataforma Java 2, edición empresarial) para el desarrollo de nivel empresarial y J2ME (plataforma Java 2, Micro Edition) para terminales móviles como Phons Mobile Phons. There are many representative technologies that appear in this version, such as EJB, Java Plug-in, Java IDL, Swing, etc. In this version, the Java virtual machine has built-in JIT (Just In Time) compiler for the first time (3 virtual machines coexist in JDK 1.2, Classic VM, HotSpot VM and Exact VM, among which Exact VM only appeared on the Solaris platform; the latter two virtual machines have built-in Los compiladores JIT, y la VM clásica traída a la versión anterior solo pueden usar el compilador JIT en forma de complementos). A nivel de lenguaje y API, Java agrega palabras clave StrictFP y una serie de clases de recolección de colecciones que se usan muy comúnmente en la codificación de Java.
En marzo y julio de 1999, se publicaron dos pequeñas versiones, JDK 1.2.1 y JDK 1.2.2, respectivamente.
El 27 de abril de 1999, se lanzó la máquina virtual del punto de acceso. Hotspot fue desarrollado originalmente por una pequeña empresa llamada "Longview Technologies". Debido al excelente desempeño de Hotspot, la compañía fue adquirida por Sun en 1997. La máquina virtual del punto de acceso se lanzó como un programa adicional para JDK 1.2, y luego se convirtió en la máquina virtual predeterminada para JDK 1.3 y todas las versiones de Sun JDK.
El 8 de mayo de 2000, se lanzó JDK 1.3, cuyo código de proyecto es Kestrel. Las mejoras de JDK 1.3 en comparación con JDK 1.2 se reflejan principalmente en algunas bibliotecas de clase (como operaciones matemáticas y la nueva API de temporizador, etc.). El servicio JNDI se ha proporcionado como un servicio a nivel de plataforma desde JDK 1.3 (JNDI fue solo una extensión antes), utilizando Corba IIOP para implementar protocolos de comunicación RMI, etc. Esta versión también realiza muchas mejoras en Java 2D, proporciona una gran cantidad de nuevas API Java 2D, y agrega una nueva biblioteca de clases de Javasound. JDK 1.3 tiene una versión revisada de JDK 1.3.1, con el nombre del código del proyecto Ladybird, y fue lanzado el 17 de mayo de 2001.
Desde JDK 1.3, Sun ha mantenido el hábito de liberar una versión importante de JDK aproximadamente cada dos años, llamado así por animales, y las diversas revisiones publicadas durante el período son nombradas por insectos.
El 13 de febrero de 2002, JDK 1.4 fue lanzado, con el nombre del código del proyecto Merlin (Gray Back Falcon). JDK 1.4 es una versión de Java que realmente ha madurado. Empresas famosas como Compaq, Fujitsu, SAS, Symbian e IBM han participado e incluso se han dado cuenta de su propio JDK 1.4 independiente. Incluso más de diez años después, todavía hay muchas aplicaciones convencionales (primavera, hibernación, puntales, etc.) que pueden funcionar directamente en JDK 1.4, o continúan lanzando versiones que pueden ejecutarse en JDK 1.4. JDK 1.4 también lanzó muchas características técnicas nuevas, como expresiones regulares, cadenas de excepción, NIO, clases de registro, analizadores y convertidores XSLT.
JDK 1.4 tiene dos revisiones posteriores:
JDK 1.4.1, el proyecto Codename Grasshopper, lanzado el 16 de septiembre de 2002
El proyecto con nombre en código Mantis JDK 1.4.2 lanzado el 26 de junio de 2003.
Alrededor de 2002, un incidente que no tuvo una relación directa con Java, pero de hecho tuvo un gran impacto en el desarrollo de Java, fue lanzado por el trabajo .NET de Microsoft. Esta plataforma de tecnología, que es muy similar a Java tanto en la implementación técnica como en los usuarios de Target, ha traído mucha discusión, comparación y competencia a Java. El gran debate entre la plataforma .NET y la plataforma Java ha continuado hasta ahora.
El 30 de septiembre de 2004, JDK 1.5 fue lanzado, con el nombre del código Nombre Tiger. Desde JDK 1.2, la transformación de Java en el nivel de sintaxis ha sido muy pequeña, y JDK 1.5 ha realizado grandes mejoras en la facilidad de uso de la sintaxis de Java. Por ejemplo, las características de sintaxis como el boxeo automático, los genéricos, las anotaciones dinámicas, las enumeraciones, los parámetros de longitud variable y los bucles de transferencia (bucles foreach) se agregan en JDK 1.5. A nivel de máquina virtual y API, esta versión mejora el modelo de memoria de Java (JMM), proporciona java.util. Paquete de concurrencia de concurrencia, etc. Además, JDK 1.5 es la última versión de JDK que declara oficialmente que puede admitir la plataforma Windows 9x.
El 11 de diciembre de 2006, JDK 1.6 se lanzó, con el nombre del código del proyecto Mustang (Mustang). En esta versión, Sun terminó los métodos de nomenclatura de J2EE, J2SE y J2ME que han existido durante 8 años desde JDK 1.2, y habilitaron los métodos de nomenclatura de Java SE 6, Java EE 6 y Java Me 6. Las mejoras a JDK 1.6 incluyen el soporte de idioma dinámico (implementado a través del motor Java Rhino de Mozilla incorporado), proporcionando el Api de Compilation API y MiniTttTTER SERVIT API, etc. Al mismo tiempo, esta versión ha realizado muchas mejoras en la máquina virtual Java, incluyendo bloqueo y sincronización, recolección de basura, carga de clase y otros algoritmos.
En la Conferencia de Javaone el 13 de noviembre de 2006, Sun anunció que finalmente abriría Java de origen, y al año siguiente, varias partes del JDK se revelaron sucesivamente bajo el protocolo GPL V2 (GNU General Public License V2), y establecieron una organización OpenJDK para administrar independientemente estos códigos fuente. Además de una cantidad muy pequeña de código de derechos de propiedad (código gravado, que en su mayoría Sun no tiene permiso para el procesamiento de código abierto), OpenJDK incluye casi todos los códigos de Sun JDK. El gerente de calidad de OpenJDK dijo una vez que en JDK 1.7, los códigos de Sun JDK y OpenJDK son básicamente los mismos, excepto las anotaciones de derechos de autor de los encabezados del archivo de código, por lo que OpenJDK 7 y Sun JDK 1.7 son esencialmente productos desarrollados por el mismo conjunto de bases de código.
Después del lanzamiento de JDK 1.6, debido al aumento de la complejidad del código, el código abierto de JDK, el desarrollo de Javafx, la crisis económica y la adquisición de Sun, Sun gastó muchos recursos en otras cosas que no sean el desarrollo de JDK, y la actualización de JDK no mantuvo la velocidad de desarrollo de la liberación de una versión importante por otros dos años. JDK 1.6 ha lanzado un total de 37 versiones de actualización hasta ahora. La última versión es Java SE 6 Update 37, que se lanzó el 16 de octubre de 2012.
El 19 de febrero de 2009, JDK 1.7, con el nombre de Dolphin, completó su primera versión de hito. Según la planificación funcional de JDK 1.7, se han establecido un total de 10 hitos. La última versión de hito originalmente estaba programada para finalizar el 9 de septiembre de 2010, pero JDK 1.7 finalmente no pudo completar según lo planeado por varias razones.
A juzgar por la planificación funcional inicial de JDK 1.7, debería ser una versión JDK que contiene muchas mejoras importantes. Los subproyectos como el proyecto Lambda (expresiones Lambda, programación funcional), proyecto de jigsaw (soporte modular de máquinas virtuales), soporte de lenguaje dinámico, coleccionista de basura y proyecto de monedas (evolución de detalles del lenguaje) tendrán un profundo impacto en la industria de Java. Durante el desarrollo de JDK 1.7, Sun Company estaba en un atolladero en concursos tecnológicos y comerciales, y su valor de mercado de valores cayó a solo el 3% de su período pico, y ya no pudo promover el desarrollo de JDK 1.7 como de costumbre. Para poner fin a la "parada" a largo plazo de JDK 1.7 lo antes posible, Oracle anunció poco después de adquirir Sun, implementaría el "Plan B" y reduciría significativamente el objetivo predeterminado de JDK 1.7 para garantizar que la versión oficial de JDK 1.7 se pueda publicar a tiempo el 28 de julio de 2011. "Los planes B" se están retrasando algunas mejoras a JDK 1.8 que no se pueden completar a tiempo. Finalmente, las principales mejoras de JDK 1.7 incluyen: proporcionar un nuevo coleccionista G1 (G1 todavía estaba en el estado experimental cuando se lanzó, y no se "reforma oficialmente hasta la actualización del 4 de abril de 2012), fortaleciendo el soporte de llamadas para idiomas no java (JSR-292, esta característica no se ha implementado completamente completamente), actualizando la arquitectura de carga de clase, etc.
Hasta el momento, JDK 1.7 ha lanzado 9 versiones de actualización, y la última actualización de Java SE 7 se lanzó el 16 de octubre de 2012. A partir de Java SE 7 Update 4, Oracle ha comenzado a admitir el sistema operativo Mac OS X y el Sistema Operativo Mac OS X y el Soporte completo en Windows 6. Al mismo tiempo, también proporciona Soporte para el ARM Instruction Set Architecture 6. y admite los tipos de arquitectura del conjunto de instrucciones ARM, X86, X64 y SPARC.
El 20 de abril de 2009, Oracle anunció que había adquirido oficialmente Sun por US $ 7,4 mil millones, y la marca registrada Java fue propiedad oficial de Oracle (el idioma Java en sí no pertenece a ninguna empresa, es administrada por la organización JCP, aunque JCP está principalmente dirigida por Sun o Oracle). Dado que Oracle ha adquirido previamente otra gran compañía de middleware, Bea, después de completar la adquisición de Sun, Oracle ha obtenido dos de las tres máquinas virtuales comerciales actuales actuales de Bea y Sun, Jrockit y Hotspot. Oracle anunció que en los próximos 1 a 2 años, aprenderá de las fortalezas y debilidades del otro y finalmente los fusionará en uno. Se puede prever que en el futuro cercano, la tecnología de máquina virtual Java sufrirá cambios considerables.
El 28 de julio de 2011, Oracle lanzó Java SE 1.7
El 18 de marzo de 2014, Oracle lanzó Java SE 1.8
El lenguaje Java tiene las siguientes características: simplicidad, orientación a objetos, distribuida, ejecución interpretada, robusto, seguro, arquitectura neutral, portátil, alto rendimiento, múltiples subprocesos y dinámica.