¿Cuál recomiendas, openjdk o jdk?
La razón histórica es que openjdk es una versión de código abierto de jdk, publicada bajo el acuerdo GPL. En el momento de JDK7, openjdk se había convertido en la columna vertebral del desarrollo de jdk7. Sun jdk7 se lanza sobre la base de openjdk7. La mayor parte del código fuente es el mismo, solo se han reemplazado algunas partes. Publicado utilizando JRL (Licencia de búsqueda Java).
En cuanto a openjdk6, es más complicado. En primer lugar, openjdk6 es una rama de jdk7, que elimina las nuevas características de Java SE7 tanto como sea posible para hacerlo lo más consistente posible con los estándares de Java6.
Las diferencias entre JDK y OpenJDK se pueden resumir de la siguiente manera:
Diferentes acuerdos de licencia:
Openjdk se libera con la licencia GPL V2, mientras que jdk se libera con la licencia GPL V2. por Publicado por JRL. Aunque ambas licencias son de código abierto, la diferencia de uso es que GPL V2 permite uso comercial, mientras que JRL sólo permite investigación personal.
OpenJDK no incluye funciones de implementación:
Las funciones de implementación incluyen: complemento del navegador, Java Web Start y panel de control de Java, que no están incluidos en Openjdk.
El código fuente de OpenJDK está incompleto:
Podemos pensar fácilmente que en Openjdk que adopta el protocolo GPL, parte del código fuente de sun jdk no puede ser utilizado por openjdk debido a problemas de derechos de propiedad. , y lo más importante es La pieza es el código para el componente opcional SNMP de JMX. Por lo tanto, estos códigos fuente no abiertos se compilan con el complemento para OpenJDK, o puede optar por no utilizar el complemento. Icedtea desarrolló el mismo código fuente de función (OpenJDK6) para estas partes incompletas, lo que hace que OpenJDK sea más completo.
Parte del código fuente fue reemplazado por código fuente abierto:
Debido a problemas de derechos de propiedad, muchos códigos fuente cuyos derechos de propiedad no son SUN fueron reemplazados por algunos códigos fuente abiertos con el mismas funciones, como rasterizador de fuentes, utilizando Free Type en su lugar.
Openjdk solo contiene el jdk más simple:
OpenJDK no contiene otros paquetes de software, como Rhino Java DB JAXP... y los paquetes de software que se pueden separar también se separan como tanto como sea posible, pero la mayoría de ellos son software gratuitos y puedes descargarlos y unirte a ellos tú mismo.
No se pueden utilizar marcas comerciales de Java:
Esto es fácil de entender. En la máquina donde está instalado openjdk, al escribir "java -version" se muestra openjdk, pero si es openjdk con el parche Icedtea, se muestra java. (Sin verificar)
En resumen, en el sistema Java todavía hay muchos elementos que no son libres y el desarrollo del código fuente no es lo suficientemente completo. Espero que Oracle pueda hacer que JCP sea más gratuito y abierto, que es lo que quieren todas las comunidades de Java.