Fabricante de JDK JDK de código abierto OpenJDK Instalación de JDK Instalación de Java Diferencia de versión de JDK diferencia entre versiones de Java Cambios de Java8 a Java17 Cambios de jdk8 a jdk17
1. fabricante JDK
- Oficial de Oracle JDK
- Código abierto OpenJDK
- Código abierto de Amazon Corretto JDK
- Adopte el código abierto OpenJDK
- Azul Zulu: Azul Systems Gratis
- Red Hat OpenJDK
- JDK de IBM
- Máquina SAP JDK de código abierto
2. Instalación de JDK (el ejemplo es JDK 8)
Documentación oficial de instalación.
https://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_jdk_install.html#CHDEBCCJ
2.1 Descargue el paquete de instalación de JDK8
Dirección de descarga , el JDK del sitio web oficial de Oracle requiere iniciar sesión
Elija descargar según su sistema informático
Si no tiene una cuenta, puede usar el paquete de instalación JDK8 que descargué ( 包含中文文档
) disco de red 123. No necesita iniciar sesión para descargar el disco de red.
Haga doble clic en el instalador jdk para instalar y
seleccione los tres paquetes para instalar.
Simplemente sigue haciendo clic en el siguiente paso.
2.2 Configuración de variables de entorno
2.2.1 Configurar la variable de entorno JAVA_HOME
Abrir configuración de variables de entorno> Crear nueva variable de entorno JAVA_HOME
Nombre de la variable: JAVA_HOME
Valor de la variable:jdk安装目录; 变量值是自己的jdk安装目录:例如:D:\JDK\jdk1.8.0_161
2.2.2 Configurar la variable de entorno CLASSPATH
Abrir configuración de variables de entorno> Crear nueva variable de entorno CLASSPATH
Nombre de la variable: CLASSPATH
Valor de la variable:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
2.2.3 Configurar la variable de entorno Ruta
Abra la configuración de la variable de entorno> busque Path
y edite esta variable de entorno
Cree un nuevo valor de variable de entorno.
Valor de variable: %JAVA_HOME%\bin
preste especial atención aquí. El valor de la variable de entorno de win10 es una línea completa, no línea por línea como Win11. El Path
valor de la variable agregada en win10 %JAVA_HOME%\bin;
tiene un punto y ;
coma adicional al final.
Finalmente pruebe si la instalación fue exitosa.
Abra CMD y ejecútelo. java -version
Si aparece el número de versión, la instalación se realizó correctamente.
3. Cambios de Java8 a Java17
JDK 8:
Contenido de actualización principal:
- Expresión lambda: admite programación funcional.
- Interfaz funcional: Introducción de funciones, predicados, consumidores y otras interfaces.
- Stream: operaciones de transmisión funcionales para procesar datos de recopilación.
- Nueva API de fecha y hora: se introduce el paquete java.time para proporcionar un mejor procesamiento de fecha y hora.
- Métodos predeterminados: Permite definir implementaciones predeterminadas en las interfaces.
- Nuevo recolector de basura: como el recolector G1, etc.
- Motor JavaScript Nashorn: utilizado para ejecutar código JavaScript en Java.
Contenido eliminado:
PermGen y recolectores de basura asociados: reemplazados por Metaspace.
JDK 9:
Contenido de actualización principal:
- Sistema modular (proyecto Jigsaw): Se introduce el concepto de modularidad y se añade un sistema modular.
- Métodos privados de la interfaz: Permite definir métodos privados en la interfaz.
- Javadoc mejorado: la herramienta Javadoc se ha mejorado para proporcionar una mejor experiencia de generación de documentación.
- Nuevo recolector de basura: como el recolector G1, etc.
JDK 10:
Contenido de actualización principal:
- Inferencia de tipo de variable local: Permite el uso de la palabra clave var en la declaración de variables locales para inferencia de tipo.
- Recolector de basura completo paralelo: rendimiento mejorado del GC paralelo.
- Uso compartido de datos de clase de aplicación: mejora la velocidad de inicio de la aplicación.
JDK 11:
Contenido de actualización principal:
- API estándar del cliente HTTP: se introduce la API del cliente HTTP estándar.
- Mejora de la sintaxis de variables locales: permite el uso de la palabra clave var en expresiones Lambda para la inferencia de tipos.
- Control de acceso anidado: se agregaron algunos modificadores de control de acceso nuevos.
- Recolector de basura ZGC: presenta un recolector de basura de baja latencia.
JDK 12:
Contenido de actualización principal:
- Expresión de cambio: se mejoró el método de escritura de la declaración de cambio.
- Nuevo recolector de basura (recolector Shenandoah): se introduce un recolector de basura de baja latencia.
JDK 13:
Contenido de actualización principal:
- Bloques de texto: simplifica la forma de escribir cadenas de varias líneas.
- Mejoras en las expresiones de cambio: la funcionalidad de las expresiones de cambio se ha mejorado aún más.
- CDS dinámico (Class Data Sharing): mejora la velocidad de inicio de la aplicación.
JDK 14:
Contenido de actualización principal:
- JEP343 (Interfaz del recolector de basura): define la interfaz del recolector de basura.
- JEP345 (Profeta): Se utiliza para predecir datos futuros basándose en datos históricos.
- JEP359 (Tipos de registros): introduce un nuevo tipo de datos para definir rápidamente clases de datos inmutables.
JDK 15:
Contenido de actualización principal:
- Clases ocultas: utilizadas para mejorar el rendimiento de los lenguajes dinámicos.
- Clases selladas: restringe la herencia de clases.
- Recolector Epsilon de GC: un recolector de basura no operativo.
JDK 16:
Contenido de actualización principal:
- Tipos de registros (Records): Simplificó la definición de clases de datos.
- Coincidencia de patrones: función de coincidencia de patrones mejorada de la expresión Switch.
- Recolector de basura (ZGC, Shenandoah): rendimiento y eficiencia mejorados del recolector de basura.
JDK 17:
Contenido de actualización principal:
- Clases selladas: se mejoró la flexibilidad de las clases selladas.
- Coincidencia de patrones: la funcionalidad de coincidencia de patrones se ha mejorado aún más.
- Recolector de basura (ZGC, Shenandoah): mejoras adicionales en el rendimiento y la eficiencia del recolector de basura.