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. Ubuntu WSL 下编译并使用OpenJDK12

    一,安装Ubuntu WSL 1.Windows中设置WSL并安装Ubuntu wsl "控制面板"-->"程序"-->"启用或关闭Win ...

  2. 阿里面试Redis最常问的三个问题:缓存雪崩、击穿、穿透(带答案)

    那提到Redis我相信各位在面试,或者实际开发过程中对缓存雪崩,穿透,击穿也不陌生吧,就算没遇到过但是你肯定听过,那三者到底有什么区别,我们又应该怎么去防止这样的情况发生呢,我们有请下一位受害者. 面 ...

  3. 基于Jenkins+k8s+Git等技术构建DeOps平台

    一.DeOps简介 1.什么是DeOps?  1.1 敏捷开发 提高开发效率,及时跟进用户需求,缩短开发周期. 敏捷开发包括编写代码和构建代码两个阶段,可以使用 git 或者 svn 来管理代码,用 ...

  4. Java根据URL截图的4种方式

    方案选择 XHTMLRenderer(不要用) PhantomJs(三方库,已停更) Puppeteer(Chrome团队开发和维护) Selenium(支持多浏览器.多语言,服务器需要安谷歌浏览器) ...

  5. 【进阶篇】基于 Redis 实现分布式锁的全过程

    目录 前言 一.关于分布式锁 二.RedLock 红锁(不推荐) 三.基于 setIfAbsent() 方法 四.使用示例 4.1RedLock 使用 4.2setIfAbsent() 方法使用 五. ...

  6. linux-centos7.6-gpt-uefi安装

    目录 linux-centos7.6-gpt-uefi安装 一.需要 二.环境 三.vm新建虚拟机系统环境 四.开始安装 linux-centos7.6-gpt-uefi安装 一.需要 安装的系统适用 ...

  7. java rgb转hsv

    public static double[] toHSV(int r, int g, int b) { Color color = new Color(r, g, b); float[] hsv = ...

  8. Mysql 存储引擎的区别以及索引查询失效的情况

    存储引擎:就是指表在计算机上的存储方式.可以通过 SHOW ENGINES; 命令查询支持的存储引擎. alter table test engine= innodb/memory/myisam/ar ...

  9. CSS操作——display属性

    display可以指定元素的显示模式,它可以把行内元素修改成块状元素,也可以把别的模式的元素改成行内元素.diisplay常用的值有四个. 语法: /* display: block; // 声明当前 ...

  10. go 通过指针修改结构体小写字段的值

    package main import ( "fmt" "unsafe" ) type W struct { b int32 c int64 } func ma ...