Poseemos la mejor solución que descubrimos por todo internet. Deseamos que te sea útil y si quieres aportar algo que nos pueda ayudar a crecer puedes hacerlo..
Solución:
tl; dr
La respuesta aceptada de apangin ahora está desactualizada.
Para versiones recientes como Java 11, el Oracle JDK producto es virtualmente idéntico al OpenJDK proyecto. OpenJDK ahora incluye las ofertas anteriores de Oracle: Java Flight Recorder, Java Mission Control, Application Class-Data Sharing y ZGC.
Para citar el blog de Oracle.com:
Desde Java 11 en adelante, por lo tanto, Oracle JDK construye y OpenJDK Las compilaciones serán esencialmente idénticas.
Oracle JDK Y OpenJDK convergente
Oracle ha realizado cambios drásticos en los últimos años.
Oracle declaró su intención de converger su marca Oracle JDK con OpenJDK a la paridad de características. Ambos se basan en el código base de OpenJDK.
Con ese fin, las herramientas anteriormente comerciales vendidas por Oracle, Grabador de vuelo y Control de misión ahora son de código abierto y donados al proyecto OpenJDK. Vea esto y esto en el sitio de OpenJDK.
Oracle y otros miembros del consorcio OpenJDK han contribuido con más código fuente para hacer que la base del código OpenJDK sea completamente de código abierto y libre de licencias que no sean la excepción de vinculación GNU GPL +.
Oracle ha cambiado sus términos de licencia. El Oracle JDK El producto de marca ya no es gratuito para su uso en la producción. Alternativamente, puede obtener una distribución gratuita de OpenJDK de cualquiera de los más de media docena de proveedores, incluido uno de Oracle. Para obtener todos los detalles, consulte este documento técnico fundamental escrito por los pilares de la comunidad Java, Java sigue siendo gratuito.
Dibujé este diagrama de flujo para guiarlo en la selección de una fuente JDK.
Oracle se reserva el derecho de parchear su propio producto de marca para una solución urgente o una vulnerabilidad de seguridad. Pero la compañía ha manifestado su intención de contribuir y coordinarse también con los otros miembros de OpenJDK. Oracle sigue siendo propietario de las marcas registradas de Java y lidera el futuro de la plataforma Java. Para las versiones 8 y 11 de Soporte a largo plazo (LTS) existentes, Oracle ha cedido la administración a RedHat (IBM).
HotSpot versus OpenJ9
La pregunta aquí pregunta:
¿Son OpenJDK VM y Oracle Hotspot VM todavía dos JVM diferentes?
Como se mencionó anteriormente, los dos productos convergen en la paridad de características. Con respecto a HotSpot tecnología, sigue leyendo.
HotSpot es un componente dentro de Oracle JDK y OpenJDK, como se discutió anteriormente. El HotSpot de hoy también combina piezas de JRockit. Oracle fusionó lo mejor de ambos motores Java, habiéndolos adquirido de Sun Microsystems y BEA Systems.
El Adoptium proyecto (anteriormente conocido como AdoptOpenJDK) de la Fundación Eclipse también proporciona una compilación de OpenJDK utilizando Eclipse OpenJ9 (basado en J9, donada por IBM) como alternativa a HotSpot. Al descargar desde el sitio web de Adoptium, elige ya sea HotSpot o OpenJ9 de un menú.
Actualmente, las pruebas parecen mostrar que OpenJ9 es dramáticamente más rápido de iniciar mientras usa mucha menos memoria, pero HotSpot puede ejecutarse más rápido con un uso sostenido. Pero estos son todavía los primeros días para OpenJ9, así que investiga por ti mismo los últimos desarrollos.
Oracle HotSpot JVM se basa en el proyecto OpenJDK HotSpot. Entonces, son en su mayoría la misma VM, excepto que Oracle JVM tiene algunas características comerciales adicionales, principalmente, Java Flight Recorder, Application Class Data Sharing y Cooperative Memory Management.
Los indicadores de tiempo de ejecución son casi los mismos para ambas máquinas virtuales; ver la lista completa usando
-XX:+UnlockDiagnosticVMOptions -XX:+UnlockCommercialFeatures -XX:+PrintFlagsFinal
A partir de JDK 8u131, la única diferencia está en las siguientes banderas (ausentes en OpenJDK VM):
bool EnableResourceManagementTLABCache = true product
bool EnableSharedLookupCache = true product
bool FlightRecorder = false commercial
ccstr FlightRecorderOptions = product
bool LogCommercialFeatures = false product
ccstr MemoryRestriction = none commercial
bool ResourceManagement = false commercial
intx ResourceManagementSampleInterval = -1 commercial
ccstr StartFlightRecording = commercial
bool TraceSharedLookupCache = false product
bool UnlockCommercialFeatures := true commercial
bool UseAppCDS = false commercial
Aquí tienes las comentarios y puntuaciones
Recuerda que puedes dar difusión a este tutorial si si solucionó tu problema.