每日一博 | Alibaba_Dragonwell OpenJDK VS Oracle JDK 详细对比情况
导读:随着oracle各种疯狂版本的发布,Oracle JDK成为收费软件,很多公司转向寻找Oracle JDK的替代品。有很多人都会怀疑,Oracle JDK和其他JDK之间有没有很大的性能差异。加上笔者的1H2G1M的服务器,然后为了自己的技术能力的提升。本文作者通过不是很专业的方面测试,给出这个自认为可行的选择方案。
各大厂商频频推出自己的开源JDK是人性的扭曲还是道德的沦丧? 代码的有无国界是程序员的无奈还是大厂的爆发?
官放牛逼还是第三方牛逼? 官方为何变成版本发布狂?
服务器为何莫名宕机究竟是何人所为?内存一直占用率居高不下,究竟人为还是鬼祟?
官方与第三方的背后有隐藏着什么?
请关注今晚【开源oschina】的此篇文章,
测试环境:window10
测试容器:Tomcat8.5.47
测试JDK:
1、Alibaba_Dragonwell_8.1.1 下载页面链接 https://github.com/alibaba/dragonwell8/releases
2、官方jdk1.8.0_31 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
测试项目:https://gitee.com/bdj/SpringBoot_v2
第一步空跑Tomcat测试
项目只留一个Tomcat自带ROOT项目
对比图:
阿里JDK:
官方JDK:
结果对比表:
空跑tomcat速度
jdk版本 | 速度 | 结果 |
阿里 | 289ms | 赢 |
官方 | 580ms |
内存占用结果:
jdk版本 | 内存 | 结果 |
阿里 | 78.3M | |
官方 | 73M | 赢 |
第二步跑springboot项目
跑自己的项目
阿里JDK:
内存占比:
官方JDK:
内存占比:
速度结果:
jdk版本 | 速度 | 结果 |
阿里 | 18216ms | 赢 |
官方 | 20234ms |
内存占用结果:
jdk版本 | 内存 | 结果 |
阿里 | 253.4M | 赢 |
官方 | 882.7M |
第三步apache-jmeter-5.2测试
阿里JDK:
汇总报告:
聚合报告:
汇总图:
图像结果:
官方JDK:
汇总报告:
聚合报告:
汇总图:
图像结果:
以上是总结:
以上就是阿里jdk与官方jdk的JMeter 对比图
从吞吐量来说好像官方jdk更棋高一手!但是我们跑项目不单单是从吞吐量开始!
但是阿里jdk给我的感觉就是省内存,能够大幅度提高稳定性、效率及性能。
后续:
1.授权协议的不同:OpenJDK采用GPL V2协议放出,而SUN JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。
2.OpenJDK不包含Deployment(部署)功能:部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,这些功能在OpenJDK中是找不到的。
3.OpenJDK源代码不完整:这个很容易想到,在采用GPL协议的OpenJDK中,SUN JDK的一部分源代码因为产权的问题无法开放给OpenJDK使用,其中最主要的部份就是JMX中的可选元件SNMP部份的代码。
4.部分源代码用开源代码替换:由于产权的问题,很多产权不是SUN的源代码被替换成一些功能相同的开源代码,比如说字体栅格化引擎,使用Free Type代替。
参考:https://zhidao.baidu.com/question/435377236723677684.html
其他参考答案:
答:非常接近 - 我们的Oracle JDK版本构建过程基于OpenJDK 7构建,只添 加了几个部分,例如部署代码,其中包括Oracle的Java插件和Java WebStart 的实现,以及一些封闭的源代码派对组件,如图形光栅化器,一些开源的第三 方组件,如Rhino,以及一些零碎的东西,如附加文档或第三方字体。展望未 来,我们的目的是开源Oracle JDK的所有部分,除了我们考虑商业功能的部 分。
————————————————
版权声明:本文为CSDN博主「程序猫A建仔」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44504146/article/details/93410569
如果但从配置低的服务器从上面测试来看,我选择阿里JDK,如果从高配服务器来说,我还是选择官方jdk。笨重是笨重,放到服务器以后基本跟本地测试差不多环境。
文本仅供参考,本测试不包含官方测试数据,全来自个人本机电脑测试!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MariaDB 10.4.10, 10.3.20, 10.2.29 和 10.1.43 发布
MariaDB 基金会近日为MariaDB 多个版本进行了稳定更新,分别是MariaDB 10.4.10,MariaDB 10.3.20,MariaDB 10.2.29和MariaDB 10.1.43。 更新日志显示,这 4 个版本都修复了同一个问题: MDEV-20987: InnoDB fails to start when FTS table has FK relation 主要是当 FTS 表示具有 FK 关系时,会出现 InnoDB 无法启动的情况。 下载地址点此获取。 MariaDB 是 MySQL 的一个分支,MariaDB 旨在保持与 MySQL 的高度兼容性,确保具有库二进制奇偶校验的直接替换功能,以及与 MySQLAPI 和命令的精确匹配,并从 MySQL 迁移。
- 下一篇
Ubuntu 20.04 LTS 开发周期的重要任务:移除 Python 2
官方已宣布 Python 2 将于 2020 年 1 月 1 日后停止维护,而计划于明年 4 月发布的 Ubuntu 20.04 将是下一个长期支持版本,所以 Ubuntu 20.04 的一个重要目标就是移除 Python 2。据 Ubuntu 开发团队介绍,目前仍有许多依赖 Python 2 的软件包保留在 Debian 测试版和 Ubuntu 的 "Focal Fossa" 中,偿还这些“债务”迫在眉睫。 Ubuntu/Debian 项目的开发者 Matthias Klose 负责为 Ubuntu 20.04 LTS 移除 Python 2,目前已经做了大量的工作。近日他在邮件列表中同步更新了一些进度,并说道 Debian 中仍然存在大约 3300 个与 Python 2 软件包相关的错误,其中大约 1500 个错误已关闭。另外,大约 350 个软件包仅在 Ubuntu 的 Focal 仓库中可用,在上游 Debian 中不可用。 所以 Matthias 认为当前的目标是将尽可能多的软件包从 Python 2 转换为 Python 3,不过这对于许多不再维护的软件包可能会成为问题。...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Red5直播服务器,属于Java语言的直播服务器
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS关闭SELinux安全模块