Translate

Mostrando las entradas con la etiqueta AdoptOpenJDK. Mostrar todas las entradas
Mostrando las entradas con la etiqueta AdoptOpenJDK. Mostrar todas las entradas

domingo, 15 de mayo de 2022

¿Cuantas jdks usables existen?


Me pregunte cuantas Jdks existen, normalmente trato de usar la de oracle, solo por costumbre o adoptOpenJDK. Solo por costumbre, no por ser fanático, y me pregunte cuantas o cuales podría utilizar y me encontré con esta amplia lista : 

JDK

PROVIDER

AVAILABLE VERSIONS

MISCELLANEOUS

Oracle JDK

Oracle

Builds for different Java projects under development:

Adoptium

Eclipse

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

Dragonwell

Alibaba

According to their own words:

Optimized for online e-commerce, financial, logistics applications running on 100,000+ servers
  • Supports Linux/x86_64 platform only

 Corretto

Amazon


Zulu

Azul

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16-ea

Liberica

BellSoft

Red Hat build of OpenJDK

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15


Sap Machine

SAP

  • 11

  • 15

  • 16-ea

Features contributed by SAP


Y ojo que falta en esta lista GraalVM que lo he usado para unas pruebas y anda joya. 

domingo, 10 de enero de 2021

Dragonwell se distribuirá con AdoptOpenJDK


AdoptOpenJDK y Alibaba anunciaron que Dragonwell JDK se construirá, probará y distribuirá utilizando la infraestructura de AdoptOpenJDK. Esto significa que los usuarios tienen más opciones y pueden optar por utilizar Dragonwell.

Dragonwell de Alibaba es una versión posterior de OpenJDK, que tiene algunas características importantes que no están disponibles en la línea principal de OpenJDK. Alibaba lo describe como una compilación OpenJDK optimizada para aplicaciones de comercio electrónico, financieras y logísticas. Alibaba utiliza Dragonwell para ejecutar sus aplicaciones en más de 100.000 servidores.

En 2019, Dragonwell se convirtió en código abierto y está disponible de forma gratuita. Linux x86-64 es oficialmente compatible, sin embargo, también hay una compilación aarch64 disponible y hay una versión experimental para Windows. Alibaba menciona que brindará soporte a largo plazo, pero no se ha definido el período exacto.

Las compilaciones para Dragonwell 8 y 11 se publicarán en el sitio web AdoptOpenJDK. Esto significa que la API AdoptOpenJDK se puede utilizar para descargar los binarios. Esto es particularmente útil para organizaciones que automatizan la instalación de nuevos binarios.

Una de las características únicas de Dragonwell es JWarmup. JWarmup intenta reducir los desafíos de rendimiento en caliente provocados por la compilación JIT. La solución utiliza métodos en caliente precompilados para mejorar el rendimiento. Para lograrlo, se definen dos fases: la pre-ejecución y la ejecución normal.

En la fase previa a la ejecución, los datos de generación de perfiles de los métodos en caliente se registran durante una prueba de carga y se almacenan en un archivo en el disco. Ese archivo se usa durante la ejecución normal donde el hilo JIT compila los métodos en el archivo en versiones nativas. Ahora esos métodos se ejecutan de forma nativa desde el inicio en lugar de interpretarse. Esto reduce la fase de calentamiento de una aplicación, lo que se traduce en un rendimiento mejorado para las aplicaciones que recién se inician.

Otra característica interesante es el soporte de corrutinas Wisp2. Wisp2 asigna subprocesos de Java a corrutinas en lugar de subprocesos a nivel de kernel. El rendimiento de la aplicación se mejora potencialmente ya que se pueden programar muchas corrutinas en una pequeña cantidad de líneas centrales. Esto reduce la sobrecarga de programación y puede mostrar una mejora en función de la carga de trabajo que se esté ejecutando.

El motor Wisp2 es similar en algunos aspectos a los objetivos de Project Loom, que también intenta eliminar el cuello de botella del número de subprocesos activos al permitir a los desarrolladores "virtualizar" sus subprocesos y multiplexarlos en un número menor de subprocesos de plataforma que utilizan enfoques a las corrutinas.

La idea central de Wisp2 es que (a diferencia de Loom) funciona de forma inmediata en el código existente habilitándolo con estos argumentos de Java:

java -XX: + UnlockExperimentalVMOptions -XX: + UseWisp2

Como Wisp2 no requiere cambios en el código fuente, el costo de la migración es bajo. Los desarrolladores no necesitan implementar corrutinas ellos mismos y las características de concurrencia de Java existentes aún se pueden usar.

Sin embargo, no todas las aplicaciones se benefician de Wisp2 y el impacto de mover automáticamente todos los hilos a las corrutinas puede ser muy grande (y no necesariamente positivo).

Las aplicaciones intensivas de Entrada-Salida donde las tareas se bloquean en eventos y luego se programan pueden beneficiarse del soporte de corrutinas. Por otro lado, las aplicaciones con uso intensivo de CPU probablemente no se beneficiarán de las corrutinas. La forma más sencilla de averiguar si una aplicación se beneficia de Wisp2 es habilitar el soporte y ejecutar una prueba de rendimiento.

Alibaba está trabajando activamente para contribuir con estas y otras características y parches al OpenJDK ascendente. Por ejemplo, JWarmup se describe en una propuesta de mejora de Java (JEP), pero todavía está en estado de borrador.

AdoptOpenJDK y Dragonwell son dos de las distribuciones más conocidas basadas en OpenJDK, pero hay muchas más opciones como: Corretto de Amazon, SapMachine de Sap, Liberica de BellSoft, Zulu de Azul y ojdkbuild. Las organizaciones entregan JDK y JRE con diferentes características y parches. Además, cada organización determina sus propios niveles de soporte, algunos de los cuales son de pago. Esto les da a los clientes más libertad, ya que pueden elegir su JDK preferido en función de las funciones y el soporte que necesitan.

Dejo link : https://blog.adoptopenjdk.net/2020/11/adoptopenjdk-welcomes-dragonwell/

miércoles, 9 de septiembre de 2020

Por qué AdoptOpenJDK te pregunta sobre utilizar OpenJ9 o HotSpot?

Una JDK debe proporcionar :

  • Un compilador de lenguaje de programación Java para crear archivos de código de bytes de Java .class a partir de sus archivos de código fuente .java.
  • Una máquina virtual de Java (JVM) que puede, en tiempo de ejecución, interpretar y / o compilar esos archivos de código de bytes de Java, convirtiéndolos en código ejecutable que puede ejecutarse en los núcleos de la computadora host utilizando el conjunto de instrucciones nativo de esa CPU.
  • Un entorno de ejecución que conecta las aplicaciones Java con los recursos de la máquina host, como el sistema de archivos y la instalación de red.
  • Un conjunto obligatorio de bibliotecas de clases de Java (java.util, java.time, etc.).
  • Una implementación de Java tiene la opción de proporcionar un compilador / optimizador Just-In-Time (JIT) como parte de la JVM. El proyecto OpenJDK incluye código fuente para HotSpot JIT.

Las personas que proporcionan compilaciones o instaladores para la plataforma Java son libres de usar HotSpot o de elegir otra tecnología de compilación JIT. OpenJ9 en uno de esos JIT alternativos, desarrollado en IBM, ahora de código abierto a través de la Fundación Eclipse, y se proporciona de forma gratuita. En el pasado, otro JIT alternativo era JRockit, propiedad de Oracle. Partes de JRockit se han fusionado en la versión actual de HotSpot.


El proyecto AdoptOpenJDK ofrece la opción entre el motor HotSpot proporcionado por Oracle a través del proyecto OpenJDK o el motor OpenJ9 alternativo proporcionado por Eclipse Foundation.

Con cualquiera de las opciones, obtiene las mismas bibliotecas de clases de la base de código OpenJDK, las mismas herramientas que incluyen Mission Control y Flight Recorder de OpenJDK, y las mismas utilidades de OpenJDK. Solo el JIT / JVM es diferente si elige HotSpot u OpenJ9.


AdoptOpenJDK es sólo uno de los varios proveedores que ofrecen distribuciones de tecnología Java como binarios / instaladores. La mayoría de estos se basan principalmente, si no completamente, en las versiones del código fuente del proyecto OpenJDK. A continuación, se muestra un diagrama de flujo que muestra los distintos proveedores.



Y aquí hay una lista de posibles motivaciones a considerar al seleccionar un proveedor.



lunes, 22 de junio de 2020

AdoptOpenJDK se convierte en Eclipse Adoptium

Una de las JDK más utilizadas, cambia de nombre para estar bajo el paraguas de la organización eclipse.

El comité que se ocupa de los planes de AdoptOpenJDK, confirmó en una publicación que habían acordado la medida con la Fundación Eclipse. 

La misión del Proyecto Eclipse Adoptium es producir una JDK de alta calidad y tecnología asociada para su uso dentro del ecosistema de Java. Logrando esto a través de un conjunto de proyectos bajo Adoptium PMC y una estrecha asociación de trabajo con proyectos externos, especialmente OpenJDK para proporcionar la implementación de tiempo de ejecución Java SE. El proyecto Eclipse Adoptium es la continuación de la misión original AdoptOpenJDK.

martes, 19 de febrero de 2019

AdoptOpenJDK


El código de Java es de código abierto y está disponible en la OpenJDK. AdoptOpenJDK proporciona binarios OpenJDK creados previamente a partir de un conjunto de código totalmente abierto de scripts de compilación e infraestructura.
Con AdoptOpenJDK podemos obtener imágenes de Docker en Docker Hub, con la open que necesitemos. A la vez podemos obtener las últimas versiones. Y se pueden obtener Nightly builds.

Las plataformas que son soportadas son:


Linux x64 logo

Linux x64

jdk8u202-b08
Windows x32 logo

Windows x32

jdk8u202-b08
Windows x64 logo

Windows x64

jdk8u202-b08
macOS x64 logo

macOS x64

jdk8u202-b08
Linux s390x logo

Linux s390x

jdk8u202-b08
Linux ppc64le logo

Linux ppc64le

jdk8u202-b08
Linux aarch64 logo

Linux aarch64

jdk8u191-b12
Solaris sparcv9 logo

Solaris sparcv9

jdk8u202-b08
AIX ppc64 logo

AIX ppc64

jdk8u202-b08
Docker logo

Docker

Official Image

Dejo link: https://adoptopenjdk.net/releases.html