首页 > 编程语言 >Java主流jdk发行版有哪些?

Java主流jdk发行版有哪些?

时间:2023-07-02 11:45:28浏览次数:56  
标签:Java JDK jdk OpenJDK 文档 发行版 源代码

Java的特点是百花齐放,不像c#或者go只有一家主导。oracle jdk收费了,没关系,不是只有它可用。java还有很多免费的主流的jdk发行版,记录下来备忘。

OpenJDK - 官方网站 - 源代码 - 文档 - 下载地址

OpenJDK是其他所有jdk发行版的基础,可以用于开发和测试,但不建议将它用于Java生产环境。

Temurin(AdoptOpenJDK) - 官方网站 - 源代码 - 文档 - 下载地址

Temurin由Eclipse开源基金会旗下的Adoptium工作组维护,基于openjdk构建的免费的jdk发行版(之前是AdoptOpenJDK),可用于在Java生产环境中替代oracle jdk。

IBM Semeru Runtime - 官方网站 - 源代码 - 文档 - 下载地址

Semeru是由IBM基于openjdk构建的免费jdk发行版,jvm采用IBM开源的openj9,性能优越,大幅减小Java应用程序的内存占用。推荐用于生产环境,是代替oracle jdk的优秀选择。

Amazon Corretto - 官方网站 - 源代码 - 文档 - 下载地址

Corretto是由亚马逊维护的基于openjdk的免费的jdk生产就绪版本,提供长期支持,其中包括性能增强和安全修复。在亚马逊内部有数以千计的Java应用程序基于Corretto执行,支撑亚马逊电子商务网站和aws在Linux上高速稳定运行。

阿里巴巴龙井(Dragonwell) - 官方网站 - 源代码 - 文档 - 下载地址

龙井(Dragonwell)是由中国著名的电子商务公司阿里巴巴主导开源的openjdk发行版,阿里巴巴的主要业务都运行在基于Linux和Dragonwell的Java应用程序上。

毕昇JDK - 官方网站 - 源代码 - 文档 - 下载地址

毕昇JDK是中国领先的科技公司华为内部基于OpenJDK定制的Huawei JDK的开源版本,运行在华为内部500多个产品上。毕昇JDK是一款高性能、可用于生产环境的OpenJDK发行版。它对华为内部Java应用场景中遇到的一些性能问题和稳定性问题进行了修复,并在ARM架构上进行了性能优化和稳定性增强,在ARM架构上更稳定,在大数据等场景下可以获得更好的性能。

腾讯 Kona JDK - 官方网站 - 源代码 - 文档 - 下载地址

Kona JDK是中国领先的互联网公司腾讯基于 OpenJDK 定制开发的 JDK 版本,广泛服务于腾讯内部业务和腾讯云上客户,经过了内部大数据和AI等复杂业务场景的验证,为腾讯 Java 生态提供专业持续的保障,具有稳定性高、安全性高、性能好等特点。

微软OpenJDK - 官方网站 - 源代码 - 文档 - 下载地址

您没看错,是它,曾经与Java为敌的微软也有基于OpenJDK的构建版本。微软首次向 OpenJDK 贡献代码是在 2014 年。2018年甲骨文将 OpenJDK 的源码库迁移至 GitHub,当时的 GitHub 刚刚被微软收购,此后微软与 OpenJDK 的关系也更进了一步。

Azul Zulu - 官方网站 - 源代码 - 文档 - 下载地址

Azul Zulu是Java标准版(“Java SE”)规范的开源实现。它是OpenJDK开源项目的二进制构建,有免费版本和收费的商业支持版本。Azul号称是全球最大的 OpenJDK商业版提供商,世界唯一100% 基于 Java 的公司。提供世界上最安全、最稳定的 OpenJDK 版本。

SapMachine - 官方网站 - 源代码 - 文档 - 下载地址

SapMachine是由SAP基于OpenJDK构建的免费的下游版本。它用于为希望使用OpenJDK运行Java应用程序的SAP客户和合作伙伴构建和维护SAP支持的OpenJDK版本。

Liberica JDK - 官方网站 - 源代码 - 文档 - 下载地址

Liberica JDK是一个100%开源的Java实现。它是由BellSoft基于OpenJDK构建的,并且所有Liberica版本都包含JavaFX。

GraalVM - 官方网站 - 源代码 - 文档 - 下载地址

与其他jdk发行版不同,GraalVM是一个通用虚拟机,由oracle开发并开源。它可以运行用JavascriptPython、Ruby、R、基于JVM的语言(如Java、Scala、Groovy、Kotlin、Clojure)和基于LLVM的语言(例如C和C++)编写的应用程序。GraalVM消除了编程语言之间的隔离,并实现了共享运行时中的互操作性。它可以像Go语言一样把java程序打包为本机可执行程序直接运行,也可以像OpenJDK一样作为运行时来运行java程序。

Oracle JDK - 官方网站 - 源代码 - 文档 - 下载地址

在sun被oracle收购以后,很多人以为Java就是Oracle JDK。其实,跟其他OpenJDK发行版一样,它只是Java平台标准版的一种实现。所谓Java收费了,只是oracle JDK收费了,其他jdk仍可以免费使用。

标签:Java,JDK,jdk,OpenJDK,文档,发行版,源代码
From: https://www.cnblogs.com/java-blogger/p/17520467.html

相关文章

  • java.net.BindException: Address already in use: JVM_Bind <null> 的解决方案
    问题描述在学习SSM整合中,启用Tomcat插件时出现以下错误java.net.BindException:Addressalreadyinuse:JVM_Bind<null>通过查阅资料发现是端口被占用了解决方案通过命令查看进程,这里我的是8080端口号被占用了netstat-ano再运行命令去杀死占用端口进程taskk......
  • java中NaN是什么意思
    NaN,是NotaNumber的缩写。NaN用于处理计算中出现的错误情况,比如0.0除以0.0或者求负数的平方根。由上面的表中可以看出,对于单精度浮点数,NaN表示为指数为emax+1=128(指数域全为1),且尾数域不等于零的浮点数。IEEE标准没有要求具体的尾数域,所以NaN实际上不是一个,而是......
  • JavaScript逻辑运算符AND和OR之间的区别
    AND&&和OR||是JavaScript中的逻辑运算符,可用于执行不同的逻辑表达式。在这篇文章中,我将解释它们之间的区别。本文的目标是让您了解这些运算符的工作原理以及它们的不同之处。要理解这些运算符,了解JavaScript中真值和假值的概念非常重要。(更|多优质内|容:java567点c0m) ......
  • Java中类 DefaultTableModel 的概念
    columnIdentifiers          Vector,由多个列标识符组成dataVector          Vector,由包含多个 Object 值的 Vector 组成。一个DefaultTableModel 就是一个二维表,以下是使用函数:DefaultTableModel()构造默认的DefaultTableModel,它是一个零......
  • Java第一周学习
    6.25周天事项:开始着手java的初步学习计划,跟随B站博主韩顺平0基础开始学习问题:Java作为一门新入手的语言不同于c/c++的学习方式,起初理解不容易6.26周一事项:开始进入正常java课程的学习,预计完成Java语言编程和操作环境在本机上的安装问题:安装环境相对c/c++较为复杂,hellow......
  • Java官方笔记13集合
    StoringDataTheCollectionsFrameworkisthemostwidelyusedAPIoftheJDK.集合不是数据类型,它是JDK的API,可以用来存储数据等,相当于数据结构。theCollectionsFrameworkisasetofinterfacesthatmodelsdifferentwayofstoringdataindifferenttypesofco......
  • 详解Java中跳跃表的原理和实现
    原文链接及讲解:详解Java中跳跃表的原理和实现java跳表实现importjava.util.Collections;importjava.util.List;importjava.util.stream.Collectors;importjava.util.stream.Stream;/***java跳表实现**@authorlyn*@date2023/6/3018:50*/publicclass......
  • 暑假Java学习第一周
    6.25先跟着黑马了解认识了一下Java的历史、现状、火爆的原因等。然后开始正式学习Java的编程。安装Oracle的JDK在电脑上配置环境变量,下载之后自动配置完成。然后编写HelloWorld.java程序,win+r——cmd调用命令面板来编译程序,但是未运行成功。具体问题是javac运行不报错(并且没有......
  • Linux安装JDK并配置环境变量
    一、查询已有JAVA环境版本信息java-version二、下载OracleJDK安装包https://www.oracle.com/java/technologies/downloads/archive/四、安装+配置JDK以下方式适用于安装各版本JDK,本文以JDK1.8为例1、创建一个java目录mkdir-p/home/local/java2、进入目录cd/home/loca......
  • Java使用joml计算机图形学库,将3D坐标旋转正交投影转为2D坐标
    最近遇到了一个困扰我许久的难题,现将解决方案分享出来由于我们的项目侧重点在前端绘图,导致了前后端工作量不协调,我后端接口很快就能写完,而前端一个图要画好久,领导见状将前端的任务分到后端一部分用Java代码来实现,然后给前端提供接口而我接到的任务就是将Echarts中绘制三维图形的......