Herramientas de desarrollo de software para desarrollar aplicaciones Java
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 ( API ) de Java. Es un derivado del OpenJDK impulsado por la comunidad que Oracle administra. [5] Proporciona software para trabajar con aplicaciones Java. Algunos ejemplos de software incluido son la máquina virtual Java, un compilador, herramientas de monitoreo de rendimiento, un depurador y otras utilidades que Oracle considera útiles para los programadores Java.
Oracle publica la versión actual del software bajo la licencia Oracle No-Fee Terms and Conditions ( NFTC ). Oracle publica binarios 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 JVMS de Oracle se conoce como HotSpot (máquina virtual) .
Contenido del JDK
El JDK tiene como componentes principales una colección de herramientas de programación, entre las que se incluyen:
- appletviewer : esta herramienta se puede utilizar para ejecutar y depurar applets 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 para 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 su lugar, ha sido reemplazado por este nuevo cargador Java.
- javac – el compilador de Java , que convierte el código fuente en bytecode 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 firma y verificación de jar
- javah – el generador de encabezados y stubs de C, utilizado 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 gestión y monitorizació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 determinado o un volcado de núcleo. (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) de punto de acceso instrumentadas en el sistema de destino. (experimental)
- jrunscript – Shell de script de línea de comandos Java .
- jshell – un bucle de lectura-evaluación-impresión , introducido en Java 9.
- jstack – utilidad que imprime seguimientos de la pila de Java de subprocesos Java (experimental)
- jstat – Herramienta de monitoreo 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 de JAR
- policytool: la herramienta de creación y gestión de políticas, que puede determinar la política para un entorno 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 livianas de creación de perfiles de memoria y rendimiento [ aclaración necesaria ] (ya no se incluye en JDK 9+)
- wsimport: genera artefactos JAX-WS portátiles para invocar un servicio web.
- xjc: parte de la API de Java para enlaces 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 incluye un entorno de ejecución Java (JRE) completo, que suele denominarse entorno 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 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 .
Otros JDK
Además del JDK más utilizado que se analiza en este artículo, existen otros JDK disponibles comúnmente para diversas plataformas, algunos de los cuales se originaron a partir del código fuente del JDK de Sun 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. Entre ellos se incluyen:
En desarrollo o en modo mantenimiento:
- Azul Systems Zing, JDK de baja latencia para Linux; [7]
- Azul Systems / Zulu basado en OpenJDK para Linux, Windows, Mac OS X, integrado y la nube; [8]
- OpenJDK / IcedTea ;
- Aicas JamaicaVM ;
- IBM J9 JDK, para AIX, Linux, Windows, MVS, OS/400, Pocket PC, z/OS; [9]
No se mantiene o se suspende:
Véase también
Referencias
- ^ "Notas de la versión consolidada de JDK 22". Oracle Corporation . Consultado el 2 de agosto de 2024 .
- ^ "Basado en las fuentes de OpenJDK". OpenJDK . Consultado el 23 de octubre de 2021 .
- ^ "Términos y condiciones de licencia sin cargo de Oracle". Oracle Corporation . Consultado el 23 de octubre de 2021 .
- ^ "Manual del usuario de información sobre licencias" (PDF) . Oracle Corporation . Consultado el 23 de octubre de 2021 .
- ^ "Preguntas frecuentes sobre OpenJDK". OpenJDK . Archivado desde el original el 7 de diciembre de 2021 . Consultado el 23 de octubre de 2021 .
- ^ "Guías para desarrolladores y API relacionadas con la herramienta de procesamiento de anotaciones Java (APT) del 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 para desarrolladores de IBM: descargas" . Consultado el 5 de agosto de 2012 .
- ^ "Soporte técnico de 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 y Linux". Archivado desde el original el 19 de octubre de 1996. Consultado el 5 de agosto de 2012 .
- ^ "Página de descarga de JRockit Family" . 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 compila desde Oracle
- Compilaciones de OpenJDK desde AdoptOpenJDK
- Descargas del SDK de IBM Java
- Proyecto JDK 7 de código abierto
- GNU Classpath: una alternativa al JDK de software libre [ cita requerida ]