Introducción
Si eres un desarrollador Java o un usuario de aplicaciones Java, probablemente sabes que necesitas un Java Development Kit (JDK) para compilar, ejecutar y depurar tu código. Un JDK consiste en un entorno de ejecución Java (JRE), que contiene la máquina virtual Java (JVM) y las bibliotecas principales, y un conjunto de herramientas de desarrollo, como un compilador, un depurador, un generador de documentación y más.
Pero qué JDK deberías usar? Existen muchas implementaciones de la especificación Java Platform, Standard Edition (Java SE), que define las características y la funcionalidad del lenguaje y la plataforma Java. Uno de ellos es OpenJDK, una implementación libre y de código abierto que también es la implementación oficial de referencia desde Java SE 7.
En este artículo, aprenderá más sobre lo que es OpenJDK, cuáles son sus beneficios y diferencias en comparación con Oracle JDK, el producto comercial de Oracle, y cómo descargarlo e instalarlo en su sistema operativo. También encontrará algunos problemas y soluciones comunes para los usuarios de OpenJDK.
Qué es OpenJDK?
OpenJDK significa Open Java Development Kit. Es un proyecto iniciado en 2006 por Sun Microsystems, el creador original de Java, para liberar el código fuente del JDK bajo una licencia de código abierto. El proyecto ahora está patrocinado por Oracle Corporation, que adquirió Sun en 2010, y apoyado por otras empresas y organizaciones, como IBM, Red Hat, Apple, SAP, Microsoft, Amazon y otros.
OpenJDK tiene como objetivo proporcionar una forma abierta e inclusiva para definir el futuro de la plataforma Java. Sigue un modelo de desarrollo colaborativo donde cualquiera puede contribuir con código, correcciones de errores, pruebas, documentación o ideas. También alberga varios subproyectos que se centran en aspectos o características específicas de Java SE, como HotSpot (la JVM), Graal (el compilador), Nashorn (el motor JavaScript), JShell (el shell interactivo) o JMC (la consola de monitoreo).
Beneficios de usar OpenJDK
Hay varias razones por las que es posible que desee elegir OpenJDK sobre otros JDKs. Algunos de ellos son:
- Innovación de código abierto: Al utilizar OpenJDK, puede beneficiarse de los esfuerzos colectivos y la experiencia de una comunidad grande y diversa de desarrolladores que trabajan juntos para mejorar la calidad y el rendimiento de la plataforma Java. También puede participar en el proceso de desarrollo aportando su propio código o retroalimentación.
- Ahorro de costos: A diferencia de Oracle JDK, que requiere una licencia comercial para el uso de producción desde Java SE 11, OpenJDK es completamente gratuito para cualquier propósito. No tiene que pagar ningún cargo o royalties a Oracle o a cualquier otro proveedor por usar OpenJDK.
- Soporte multiplataforma: OpenJDK está disponible para varios sistemas operativos, como Windows, Linux, macOS, Solaris y otros. También puede encontrar diferentes distribuciones de OpenJDK que se adaptan a plataformas o necesidades específicas, como AdoptOpenJDK, Amazon Corretto, Azul Zulu, Red Hat OpenJDK u Oracle OpenJDK.
- Soporte a largo plazo: OpenJDK proporciona versiones de soporte a largo plazo (LTS) que reciben actualizaciones de seguridad y estabilidad durante varios años. La versión actual de LTS es Java SE 11, que será soportada hasta 2026. La próxima versión de LTS será Java SE 17, que será lanzada en septiembre de 2021 y soportada hasta 2029.
Diferencias entre OpenJDK y Oracle JDK
Aunque OpenJDK y Oracle JDK se basan en el mismo código fuente y cumplen con la especificación Java SE, hay algunas diferencias entre ellos que usted debe tener en cuenta. Algunos de ellos son:
- Características: OpenJDK y Oracle JDK tienen principalmente las mismas características, excepto algunas diferencias menores. Por ejemplo, Oracle JDK incluye algunas herramientas y utilidades adicionales, como Java Flight Recorder (JFR), Java Mission Control (JMC) o jpackage. Sin embargo, algunas de estas herramientas también están disponibles como descargas separadas o como parte de subproyectos de OpenJDK. Por otro lado, OpenJDK incluye algunas características experimentales que no están disponibles en Oracle JDK, como Project Loom (concurrencia), Project Panama (integración nativa), o Project Valhalla (tipos de valor).
- Rendimiento: OpenJDK y Oracle JDK tienen características de rendimiento similares, ya que comparten los mismos componentes principales y optimizaciones. Sin embargo, puede haber algunas variaciones dependiendo de la plataforma, la carga de trabajo, la configuración y la distribución de OpenJDK que utilice. Puede ejecutar sus propios puntos de referencia para comparar el rendimiento de diferentes JDKs para su caso de uso específico.
- Support: OpenJDK es apoyado por una comunidad de desarrolladores y usuarios que proporcionan informes de errores, parches, documentación y ayuda a través de listas de correo, foros, wikis y otros canales. También puede obtener soporte profesional de terceros proveedores que ofrecen servicios comerciales y productos basados en OpenJDK. Oracle JDK es compatible con Oracle Corporation, que proporciona soporte técnico, actualizaciones y parches de seguridad para sus clientes que tienen un acuerdo de licencia válido.
Cómo descargar e instalar OpenJDK
El proceso de descarga e instalación de OpenJDK puede variar dependiendo de su sistema operativo y la distribución de OpenJDK que elija. Estos son algunos pasos generales que puedes seguir para los escenarios más comunes:
Windows
Si quieres descargar e instalar OpenJDK en Windows, tienes varias opciones:
- Use un gestor de paquetes: Puede usar una herramienta de administrador de paquetes, como Chocolatey o Scoop, para instalar OpenJDK en Windows. Un gestor de paquetes simplifica el proceso de instalación y actualización mediante la automatización de los pasos de descarga y configuración. Por ejemplo, puede usar Chocolatey para instalar AdoptOpenJDK ejecutando este comando en un terminal de PowerShell:
choco install adoptopenjdk -versión 11.0.11+9
17b9afdd22