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发行版本有哪些?的更多相关文章

  1. idea Error : java 不支持发行版本5

    问题描述 在Intellij idea中新建了一个Maven项目,运行时报错如下:Error : java 不支持发行版本5 解决 1.在Intellij中点击"File" --& ...

  2. 如何在Oracle官网下载java的JDK最新版本和历史版本

    官网上最显眼位置只显示了Java SE的JDK的最新版本下载链接,因为都是英文,如果英文不是很好,寻找之前的JDK版本需要很长时间,而且未必能在那个隐蔽的位置找到之前版本列表. 今天小编来给你详细讲解 ...

  3. Java (JDK 多版本切换)—— Windows平台

    0. 背景 常常在不同的应用中需要用到不同版本的Java ,需要切换不同JAVA_HOME. 1. 方法 Step 1. 安装不同版本的JDK(JRE),最好都安装在一个Java目录分支下.例如: S ...

  4. 新建maven工程运行出现Intellij idea 报错:Error : java 不支持发行版本5

    Step1点击: 点击 保持一致: Step2点击 这样就可以了. 主要是运行时jdk版本不一致的问题

  5. Intellij idea 报错:Error : java 不支持发行版本5

    保证下面几个地方编译版本一致: 分两步: 第一步,进入Project Structure中设置Project JDK 以及Project Level ,高于JDK5版本 第二步,进入设置中将项目的JD ...

  6. 运行连接Oracle数据库时,Idea报错: Error : java 不支持发行版本5

    按照上面的截图步骤,一步步往下走,再运行程序时就不会报错了. 原文链接:https://blog.csdn.net/qq_22076345/article/details/82392236 感谢原文作 ...

  7. idea报错:Error:java不支持发行版本5的解决方法

    将以下对应配置一致即可. File-->Project Structure File-->Settings

  8. Error java 错误 不支持发行版本5 ( 完美解决版)

    问题 在Intellij idea中新建了一个Maven项目,运行时报错如下:Error : java 不支持发行版本5 解决方案 1. 原因 是因为ideal中默认配置中有几个地方的jdk版本与实际 ...

  9. Error:java: 错误: 不支持发行版本 5

    本文链接:https://blog.csdn.net/wo541075754/article/details/70154604 在Intellij idea中新建了一个Maven项目,运行时报错如下: ...

  10. 轻松搭建自己的Linux发行版本

    许多人想要搭建自己的Linux发行版本,可能是觉得有趣,也可能是为了学习更多的Linux知识,或者因为他们有很正式的问题要解决.但是秘密是:自己搭建完美的发行版本不是很困难的一件事.事实上,我们收集了 ...

随机推荐

  1. dotnet 是否应该对 HttpResponseMessage 调用 Dispose 进行释放

    对于 HttpClient 的请求响应值 HttpResponseMessage 来说,既然继承了 IDisposable 接口,自然就是想让大家可以通过 using 或者手动调用 Dispose 进 ...

  2. 11.Node节点维护

    题目:Node节点维护 配置环境kubectl config use-context ek8s 将名为ek8s-node-0的node节点设置为不可用,并重新调度该node上所有运行的pods. 官方 ...

  3. 009_原理图中电气互连,Net alias,分页符,总线

    009_原理图中电气互连,Net alias,分页符,总线 1.电气互连,就是画线. 2.端口名,适用同一页相连的端口. 3.分页符off page connector,适用于不同页的端口连接. 4. ...

  4. vue通过input选取apk文件上传,显示进度条

    <template> <div class=""> <form action="" method="post" ...

  5. webapp监听手机物理返回键,返回上一页面或者关闭app

    网上抄的做笔记: 1.项目下建文件夹commonFunction->physicBackListener.js 2.这个js文件内复制代码: document.addEventListener( ...

  6. 检索增强生成RAG-书生浦语大模型实战营学习笔记3&大语言模型8

    大语言模型学习-8.检索增强生成RAG 书生浦语大模型实战营学习笔记3 本文主要涉及检索增强生成相关基础知识,也包括第二期实战营的第3课的内容 动机 当今大语言模型存在幻觉现象,即大模型会无意义或不忠 ...

  7. 一篇文章掌握Python中多种表达式的使用:算术表达式、字符串表达式、列表推导式、字典推导式、_集合推导式、_生成器表达式、逻辑表达式、函数调用表达式

    Python 中的表达式可以包含各种元素,如变量.常量.运算符.函数调用等.以下是 Python 表达式的一些分类及其详细例子: 1. 算术表达式 算术表达式涉及基本的数学运算,如加.减.乘.除等. ...

  8. HDU-Employment Planning题解

    题目在这里 -------------------------------- Employment Planning 简单的一道dp 关键的点在于想到用枚举实现各种情况的讨论 关键的注释写在代码里了 ...

  9. ssl协议存在弱加密算法修复,禁用低版本的TLS

    验证用网站:https://www.ssleye.com/ssltool/cipher_suites.html https://www.site24x7.com/zhcn/tools/tls-chec ...

  10. kubernetes 之 Rolling Update 滚动升级

    滚动升级 1.错误的yml文件 [machangwei@mcwk8s-master ~]$ cat mcwHttpd.yml apiVersion: apps/v1 kind: Deployment ...