El Java Development Kit ( JDK ) es una implementación de cualquiera de las dos Java SE , Java EE , o Java Platform, Micro Edition plataformas [1] publicado por Oracle Corporation en forma de un producto binaria dirigida a Desarrolladores Java en Solaris , Linux , macOS o Windows . El JDK incluye una JVM privada y algunos otros recursos para finalizar el desarrollo de una aplicación Java. [2] Desde la introducción de Javaplataforma, ha sido, con mucho, el kit de desarrollo de software ( SDK ) más utilizado . [ cita requerida ]
Desarrollador (es) | Oracle Corporation |
---|---|
Lanzamiento estable | 16.0.1 / 20 de abril de 2021 |
Sistema operativo | Windows NT , macOS (x64), Linux , Solaris |
Plataforma | IA-32 , x64 , BRAZO , SPARC |
Tipo | Kit de desarrollo de software |
Licencia | Licencia Sun (la mayor parte también bajo GPL) |
Sitio web | www |
El JDK está disponible para macOS x64 de 64 bits (y esa versión también funciona con Rosetta 2 ), mientras que una compilación de acceso temprano (vista previa para desarrolladores) de Microsoft también está disponible para admitir Mac Apple M1 recientes . [3] [4] [5]
Contenidos de JDK
El JDK tiene como componentes principales una colección de herramientas de programación, que incluyen:
- appletviewer : esta herramienta se puede utilizar para ejecutar y depurar subprogramas Java sin un navegador web
- apt - la herramienta de procesamiento de anotaciones [6]
- extcheck: una utilidad que detecta conflictos de archivos JAR
- idlj: el compilador de IDL a Java. Esta utilidad genera enlaces de Java a partir de un archivo IDL de Java determinado .
- jabswitch: el puente de acceso de Java . Expone tecnologías de asistencia en sistemas Microsoft Windows.
- java: el cargador de aplicaciones Java. Esta herramienta es un intérprete y puede interpretar los archivos de clase generados por el compilador javac . Ahora se utiliza un único lanzador tanto para el desarrollo como para la implementación. El antiguo lanzador de implementación, jre, ya no[actualizar] viene con Sun JDK y, en cambio, ha sido reemplazado por este nuevo cargador de Java.
- javac : el compilador de Java , que convierte el código fuente en código de bytes de Java
- javadoc : el generador de documentación, que genera automáticamente documentación a partir de los comentarios del código fuente
- jar : el archivador, que empaqueta las bibliotecas de clases relacionadas en un solo archivo JAR . Esta herramienta también ayuda a administrar archivos JAR.
- javafxpackager - herramienta para empaquetar y firmar aplicaciones JavaFX
- jarsigner: la herramienta de verificación y firma de jar
- javah: el generador de códigos auxiliares y encabezados de C, que se utiliza para escribir métodos nativos
- javap - el desensamblador de archivos de clase
- javaws: el iniciador de Java Web Start para aplicaciones JNLP
- JConsole - Consola de administración y supervisión de Java
- jdb - el depurador
- jhat - Herramienta de análisis de montón de Java (experimental)
- jinfo: esta utilidad obtiene información de configuración de un proceso Java en ejecución o un volcado por caída. (experimental)
- jmap Oracle jmap - Memory Map - Esta utilidad genera el mapa de memoria para Java y puede imprimir mapas de memoria de objetos compartidos o detalles de memoria de pila de un proceso dado o volcado de núcleo. (experimental)
- jmc - Control de misión de Java
- jpackage: una herramienta para generar paquetes de aplicaciones independientes. (experimental)
- jps: la herramienta de estado del proceso de la máquina virtual Java enumera las máquinas virtuales Java (JVM) HotSpot instrumentadas en el sistema de destino. (experimental)
- jrunscript: shell de script de línea de comandos de Java .
- jshell : un bucle de lectura-evaluación-impresión , introducido en Java 9.
- jstack: utilidad que imprime trazos de pila Java de subprocesos Java (experimental)
- jstat: herramienta de supervisión de estadísticas de máquinas virtuales Java (experimental)
- jstatd - demonio jstat (experimental)
- keytool - herramienta para manipular el almacén de claves
- pack200 - Herramienta de compresión JAR
- policytool: la herramienta de gestión y creación de políticas, que puede determinar la política para un tiempo de ejecución de Java, especificando qué permisos están disponibles para el código de varias fuentes.
- VisualVM : herramienta visual que integra varias herramientas JDK de línea de comandos y capacidades de perfilado de memoria y rendimiento livianas [ aclaraciones necesarias ]
- wsimport: genera artefactos JAX-WS portátiles para invocar un servicio web.
- xjc: parte de la API de Java para enlace XML (JAXB). Acepta un esquema XML y genera clases Java.
Es posible que las herramientas experimentales no estén disponibles en versiones futuras del JDK.
El JDK también viene con un entorno de ejecución Java completo , generalmente llamado tiempo de ejecución privado , debido al hecho de que está separado del JRE "normal" y tiene contenido adicional. Consiste en una máquina virtual Java y todas las bibliotecas de clases presentes en el entorno de producción, así como bibliotecas adicionales que solo son útiles para los desarrolladores, como las bibliotecas de internacionalización y las bibliotecas IDL .
Las copias del JDK también incluyen una amplia selección de programas de ejemplo que demuestran el uso de casi todas las partes de la API de Java .
Ambigüedad entre un JDK y un SDK
El JDK forma un subconjunto extendido de un kit de desarrollo de software (SDK). Incluye "herramientas para desarrollar, depurar y monitorear aplicaciones Java". [7] Oracle sugiere encarecidamente utilizar ahora el término JDK para referirse al kit de desarrollo de Java SE. Java SE SDK está disponible con o sin JDK, por lo que se refieren específicamente a Java SE 7 JDK. [8]
Otros JDK
Además del JDK más utilizado que se analiza en este artículo, existen otros JDK comúnmente disponibles para una variedad de plataformas, algunos de los cuales comenzaron con la fuente Sun JDK y otros no. Todos se adhieren a las especificaciones básicas de Java, pero a menudo difieren en áreas explícitamente no especificadas, como la recolección de basura, las estrategias de compilación y las técnicas de optimización. Incluyen:
En desarrollo o en modo de mantenimiento:
- Azul Systems Zing, JDK de baja latencia para Linux; [9]
- Zulu basado en Azul Systems / OpenJDK para Linux, Windows, Mac OS X, integrado y en la nube; [10]
- OpenJDK / IcedTea ;
- Aicas JamaicaVM ;
- IBM J9 JDK, para AIX, Linux, Windows, MVS, OS / 400, Pocket PC, z / OS; [11]
Sin mantenimiento o descontinuado:
- Apache Harmony ;
- Manzana 's Mac OS Runtime para Java JVM / JDK para Classic Mac OS ; [12]
- Blackdown Java - Puerto del JDK de Sun para Linux; [13] [14]
- GNU 's de rutas de clases y el CGPJ (El compilador GNU para Java );
- Oracle Corporation 's JRockit JDK, para Windows, Linux y Solaris; [15]
Ver también
- Ruta de clases (Java)
- Plataforma Java
- Historial de versiones de Java
Referencias
- ^ "Funciones y mejoras de Java SE 7" . Oracle Corporation . Consultado el 1 de enero de 2013 .
- ^ "Página de inicio de OpenJDK" . Oracle Corporation y / o sus afiliadas . Consultado el 1 de enero de 2013 .
- ^ "Versión 16-ea + 10-macOS-aarch64 · microsoft / openjdk-aarch64" . GitHub . Consultado el 26 de enero de 2021 .
- ^ "¿Funciona OpenJDK en el silicio de Apple?" . isapplesiliconready.com . Consultado el 26 de enero de 2021 .
- ^ "Última versión | AdoptOpenJDK" . adoptopenjdk.net . Consultado el 26 de enero de 2021 .
- ^ "API y guías para desarrolladores relacionadas con la herramienta de procesamiento de anotaciones Java (APT) de JDK 5.0, de Sun Microsystems" . Consultado el 5 de agosto de 2012 .
- ^ "Descargas de Java SE" . Oracle . Consultado el 10 de julio de 2013 .
- ^ "Las distribuciones de Java EE 7 SDK requieren JDK 7" "Java Platform, Enterprise Edition 7 SDK - Instrucciones de instalación" . Instalación del software . Oracle . Consultado el 10 de julio de 2013 .
- ^ "Página del producto Azul Zing" .
- ^ "Página de descarga de Azul Zulu" .
- ^ "developerWorks: kits de desarrollador de IBM: descargas" . Consultado el 5 de agosto de 2012 .
- ^ "Soporte en Apple" . Archivado desde el original el 13 de diciembre de 2007.
- ^ "Información de contacto de Java Linux" . Archivado desde el original el 7 de agosto de 2007 . Consultado el 5 de agosto de 2012 .
- ^ "Información más reciente de Java-Linux" . Archivado desde el original el 19 de octubre de 1996 . Consultado el 5 de agosto de 2012 .
- ^ "Página de descarga de la familia JRockit" . Consultado el 5 de agosto de 2012 .
enlaces externos
- Oracle Java SE
- Hoja de ruta de soporte de Oracle Java SE
- Proyecto OpenJDK de código abierto
- OpenJDK se basa en Oracle
- OpenJDK se basa en AdoptOpenJDK
- Descargas de IBM Java SDK
- Proyecto JDK 7 de código abierto
- GNU Classpath : una alternativa de software libre al JDK [ cita requerida ]