JDK 收费了,怎么应对?难道 JDK 8 一直用下去吗?

news2024/12/23 19:45:16

最近遇到一个问题:Oracle JDK 8 在 ARM 机器上性能特别差!

我的第一直觉就是是不是 JDK 8 在 ARM 不兼容?

为了研究这个问题,我探究了一圈,主要是找找有没有同行遇到这个问题,在找的过程中呢,发现了几款国产 JDK,这里先推荐给大家,当然我最近也做了一些性能压测,稍后会分享给大家!

替代 Oracle JDK 的最常见做法是 OpenJDK, 这个想必大家都知道了,不再多说。

国内比较知名的企业当然要数:华为,腾讯和阿里了,这三款不错的国产 JDK 正是来自他们。

排名不分先后,欢迎大家试用:

  • bisheng JDK, 华为毕昇 JDK

  • Kona JDK,腾讯 Kona JDK

  • Dragonwell JDK,阿里巴巴 Dragonwell JDK

bisheng JDK

官网:https://www.openeuler.org/zh/other/projects/bishengjdk/

毕昇 JDK 是华为内部基于 OpenJDK 定制的 Huawei JDK 的开源版本。Huawei JDK 运行在华为内部 500 多个产品上,研发团队积累了丰富的开发经验,解决了业务实际运行中遇到的多个疑难问题。

毕昇 JDK 作为 OpenJDK 的下游,是一款高性能、可用于生产环境的 OpenJDK 发行版。毕昇 JDK 对华为内部应用场景中遇到的一些性能问题和稳定性问题进行了修复,并在 ARM 架构上进行了性能优化和稳定性增强,在 ARM 架构上更稳定,在大数据等场景下可以获得更好的性能。

毕昇 JDK 致力于为 JAVA 开发者提供一款稳定可靠、高性能、易调测的 JDK ,也为用户在 ARM 架构上提供一个更好的选择。

Kona JDK

官网:https://cloud.tencent.com/product/tkjdk

Kona JDK 是什么?

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

Kona JDK 优势

高性能和低成本:在腾讯大数据计算场景数万台服务器生产集群验证下,和Open JDK 8相比,Kona JDK 8吞吐提升8%,CPU 和内存使用率均降低10%左右;

开箱即用的 Vector API 支持:解决了向量指令适配导致的 JVM crash 等问题,业界率先落地,稳定支持广告训练场景;

多种 GC 优化:G1 GC 内存 overhead 和并行 Full GC 算法优化,同时针对强实时在线服务需求,推出生产级别的 ZGC;

KonaFiber 协程:已经在IEG天美游戏业务合作落地,目前根据benchmark测试,协程创建/切换/调度等性能大幅超过社区Loom;

支持 ARM 国产化 CPU;

Dragonwell JDK

官网:https://www.aliyun.com/product/dragonwell

Alibaba Dragonwell 是阿里云针对云计算下的微服务、大数据、函数计算等场景高度优化的 OpenJDK 发行版,力求在稳定性,性能,以及技术前瞻性方面,满足云上 Java 用户的需求。

好了,今天的内容比较简单,主要目的是为大家介绍 3 款国内大牌 JDK 供大家在选择 JDK 时有更多的选项,下一篇将为大家实测各 JDK 在 x86 及 arm 机器上的具体表现,敬请期待。

我是祥子,不拉车的祥子,欢迎大家来我的公&号:新质程序猿,一起互动交流,公&号上会分享更多干货(部分内容 CSDN 有限制)。

新建的程序猿接单交流群正在火热进人中,欢迎各位老板和感兴趣的圈友加入(加:hyx2011 拉你)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2134902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于vue框架的宠物领养系统l3a76(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:用户,宠物信息,宠物领养,宠物品种,团队信息,入团申请,团队活动 开题报告内容 基于Vue框架的宠物领养系统开题报告 一、引言 随着宠物文化的普及和人们对宠物情感的日益加深,宠物领养已成为社会关注的热点之一。然而&#…

# 大模型的第一个杀手级应用场景出来了

大家终于都意识到大模型首先改变的是软件行业自己,而软件的根基是代码生成。代码生成第一波就是AI辅助开发,这个会是大模型第一个杀手级应用。大家苦苦逼问自己的大模型杀手级应用,为什么会是辅助编程,这里说下什么: 必…

利用shuji还原webpack打包源码

0 前言 前段时间做一个银行的项目,是在别人已经打过好多次的基础上继续打,而且时间很短,也是没办法要有产出,这个银行很多站点都是webpack打包,就新学了一个点:利用shuji获取webpack打包站源码&#xff08…

2025届京东校招薪酬全面上调,加薪20%!

就在近日京东官方发布声明,今年 2025 届校招岗位的薪资将全面上调,再次加薪!其中,采销、技术、产品等核心岗位薪酬上调不低于20%,产研类岗位更狠,算法岗平均起薪涨幅超75%,硬件和设计等岗位起薪…

2024年06月中国电子学会青少年软件编程(图形化)等级考试试卷(一级)答案 + 解析

青少年软件编程(图形化)等级考试试卷(一级) 分数:100 题数:37 一、单选题 音乐Video Game1的时长将近8秒,点击一次角色,下列哪个程序不能完整地播放音乐两次?&#xff0…

java实现根据延迟法定退休政策计算退休年龄

一、计算规则 从2025年1月1日起,男职工和原法定退休年龄为五十五周岁的女职工,法定退休年龄每四个月延迟一个月,分别逐步延迟至六十三周岁和五十八周岁;原法定退休年龄为五十周岁的女职工,法定退休年龄每二个月延迟一…

应急响应实战---是谁修改了我的密码?

前言:此次应急响应为真实案例,客户反馈无法通过密码登录服务器,疑似服务器被入侵 0x01 如何找回密码? 客户服务器为windows server2019,运维平台为PVE平台;实际上无论是windows系统或者是linux系统&#…

从简单分析到智能问数,Smartbi AIChat让数据回归业务

大数据产业创新服务媒体 ——聚焦数据 改变商业 在某科技公司,资深数据分析师李晨(化名)正忙于分析新产品的市场表现。面对传统自助式BI工具,李晨在功能界面中手动设置各种查询条件,进行了一番复杂的拖拉拽操作&#…

spring模块(六)spring监听器(3)广播与异步问题

发布事件和监听器之间默认是同步的;监听器则是广播形式。demo: event: package com.listener.demo.event;import com.listener.demo.dto.UserLogDTO; import org.springframework.context.ApplicationEvent;public class MyLogEvent extends…

界面控件DevExpress中文教程:如何PDF图形对象的可见性?

DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress 近期重要版本v24.1已正式发布,该版本拥有众多新产…

数据资产盘点

数据资产盘点包含调研诊断、数据盘点、数据对标校正、分类分级、权责划分、数据资产目录建立六大环节。调研诊断:通常采用访谈或案头梳理的方式,对 IT 整体建设情况、业务系统数据情况进行调研,框定数据资产管理范围、聚焦目标。 数据盘点&a…

spring整合mabatis框架(druid连接池)

spring整合mabatis框架&#xff0c;duird连接池&#xff0c;Junit5测试框架 1&#xff09;创建Maven工程 2&#xff09;导入相关的依赖 <!--springContext依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-contex…

helm一键化部署pod

目录 概念 安装helm helm的命令 自定义模版 回滚 概念 helm提供了一个模版&#xff0c;可以一键化的部署微服务。它通过打包的方式&#xff0c;把所有需要的yaml文件集合一起&#xff0c;然后一键部署&#xff0c;还可以支持回滚。 helm的本质&#xff1a;就是可以把k8s…

低压电抗器与电容器安装距离

低压电抗器与电容器的安装距离是一个关键问题&#xff0c;主要考虑电气安全、热效应以及电磁干扰等因素。通常建议保持适当的安装距离以确保设备的正常运行和安全性。 以下是一些常见的参考原则&#xff1a; 1、热效应 电抗器和电容器在运行过程中都会产生热量。如果两者之间距…

代数模型(Algebraic Models)---线性规划------ + 案例 + Python源码求解(见文中)

目录 一、代数模型&#xff08;Algebraic Models&#xff09;详解1.1什么是代数模型&#xff1f;1.2代数模型的基本形式1.3 安装所需要的Python包--运行下述案例1.4代数模型的应用案例案例 1&#xff1a;市场供需平衡模型Python求解代码Python求解结果如下图&#xff1a; 案例 …

GDPU MySQL数据库 天码行空1 数据库的创建和基本操作

一、实验目的 1&#xff0e;熟知机房用机安全规则。 2&#xff0e;通过上机操作&#xff0c;加深对数据库系统理论知识的理解&#xff1b;通过使用具体的DBMS&#xff0c;了解一种实际的数据库管理系统&#xff0c;并掌握其操作技术&#xff1b;通过对实际题目的上机实验&…

Java8的函数式编程简介

文章目录 环境背景方法方法1&#xff1a;Java 7&#xff08;传统方法&#xff09;方法2&#xff1a;Java 7 &#xff08;策略模式&#xff09;方法3&#xff1a;Java 8的Lambda表达式方法4&#xff1a;Java 8内建的函数式接口Predicate方法5&#xff1a;Java 8的方法引用方法6&…

JavaSE:5、类与对象

1、类的定义与对象的创建 定义属性 创建对象 2、对象的使用 使用一个变量来指代某个对象&#xff0c;只不过引用类型的变量&#xff0c;存储的是对象的引用&#xff0c;而不是对象本身 public class Main {public static void main(String [] argv){Person p1new Person();P…

Oracle发送邮件功能:配置自动化发信指南?

Oracle发送邮件服务设置方法&#xff1f;怎么用Oracle数据库发信&#xff1f; Oracle数据库作为企业级应用的核心&#xff0c;其内置的发送邮件功能为企业提供了强大的自动化工具。AokSend将详细介绍如何配置Oracle发送邮件功能&#xff0c;以实现自动化发信&#xff0c;从而提…

C和指针:指针

内存和地址 程序视角看内存是一个大的字节数组&#xff0c;每个字节包含8个位&#xff0c;可以存储无符号值0至255,或有符号值-128至127。 多个字节可以合成一个字&#xff0c;许多机器以字为单位存储整数&#xff0c;每个字一般由2个或4个字节组成。 由于它们包含了更多的位&…