Herramientas de desarrollo de software para desarrollar aplicaciones Java.
El Java Development Kit ( JDK ) es una distribución de tecnología Java de Oracle Corporation . Implementa la especificación del lenguaje Java ( JLS ) y la especificación de la máquina virtual Java ( JVMS ) y proporciona la edición estándar ( SE ) de la interfaz de programación de aplicaciones Java ( API ). Es un derivado del OpenJDK impulsado por la comunidad que administra Oracle. [5] Proporciona software para trabajar con aplicaciones Java. Ejemplos de software incluido son la máquina virtual Java, un compilador, herramientas de monitoreo del rendimiento, un depurador y otras utilidades que Oracle considera útiles para los programadores de Java.
Oracle ha lanzado la versión actual del software bajo la licencia de Términos y condiciones sin cargo de Oracle ( NFTC ). Binarios de lanzamiento de Oracle para la arquitectura x86-64 para sistemas operativos basados en Windows, macOS y Linux, y para la arquitectura aarch64 para macOS y Linux. Las versiones anteriores eran compatibles con el sistema operativo Oracle Solaris y la arquitectura SPARC .
La implementación principal de Oracle del JVMS se conoce como HotSpot (máquina virtual) .
Contenidos 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 de 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 Java a partir de un archivo IDL Java determinado .
- jabswitch: el puente de acceso a 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 iniciador de implementación, jre, ya no [actualizar]viene con Sun JDK y, en su lugar, 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 comentarios del código fuente.
- jar : el archivador que empaqueta bibliotecas de clases relacionadas en un único 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 encabezados y códigos auxiliares de C, utilizado para escribir métodos nativos
- javap – el desensamblador de archivos de clase
- javaws: el iniciador Java Web Start para aplicaciones JNLP
- JConsole – Consola de gestió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 de memoria. (experimental)
- jmap Oracle jmap – Mapa de memoria: esta utilidad genera el mapa de memoria para Java y puede imprimir mapas de memoria de objetos compartidos o detalles de memoria de montón de un proceso o volcado de núcleo determinado. (experimental)
- jmc - Control de misión 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 e impresión , introducido en Java 9.
- jstack: utilidad que imprime rastros de pila Java de subprocesos Java (experimental)
- jstat: herramienta de seguimiento de estadísticas de la máquina virtual 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 creación y gestió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 ligeras de creación de perfiles de memoria y rendimiento [ se necesita aclaración ] (ya no se incluyen en JDK 9+)
- wsimport: genera artefactos JAX-WS portátiles para invocar un servicio web.
- xjc: parte de la API de Java para la API de enlace XML (JAXB). Acepta un esquema XML y genera clases Java.
Es posible que las herramientas experimentales no estén disponibles en futuras versiones del JDK.
El JDK también viene con un Java Runtime Environment (JRE) completo, generalmente llamado tiempo de ejecución privado , debido a que está separado del JRE "normal" y tiene contenidos adicionales. Consiste en una máquina virtual Java y todas las bibliotecas de clases presentes en el entorno de producción, así como bibliotecas adicionales sólo ú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 .
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 a partir de la fuente Sun JDK y otros no. Todos cumplen con 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 modo desarrollo o mantenimiento:
- Azul Systems Zing, JDK de baja latencia para Linux; [7]
- Zulu basado en Azul Systems / OpenJDK para Linux, Windows, Mac OS X, integrado y en la nube; [8]
- OpenJDK / IcedTea ;
- Aicas JamaicaVM ;
- IBM J9 JDK, para AIX, Linux, Windows, MVS, OS/400, Pocket PC, z/OS; [9]
No mantenido ni descontinuado:
Ver también
Referencias
- ^ "Notas de la versión". Corporación Oráculo . Consultado el 18 de agosto de 2022 .
- ^ "Basado en las fuentes de OpenJDK". AbiertoJDK . Consultado el 23 de octubre de 2021 .
- ^ "Licencia de términos y condiciones sin cargo de Oracle". Corporación Oráculo . Consultado el 23 de octubre de 2021 .
- ^ "Manual del usuario de información sobre licencias" (PDF) . Corporación Oráculo . Consultado el 23 de octubre de 2021 .
- ^ "Preguntas frecuentes sobre OpenJDK". AbiertoJDK . Consultado el 23 de octubre de 2021 .
- ^ "Guías para desarrolladores y API relacionadas con la herramienta de procesamiento de anotaciones Java (APT) JDK 5.0, de Sun Microsystems" . Consultado el 5 de agosto de 2012 .
- ^ "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 sobre 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 compila desde Oracle
- OpenJDK se construye a partir de AdoptOpenJDK
- Descargas del SDK de Java de IBM
- Proyecto JDK 7 de código abierto
- GNU Classpath: una alternativa JDK de software libre [ cita necesaria ]