当前位置: 首页 > 工具软件 > Bisheng JDK 8 > 使用案例 >

华为毕昇JDK8的改进,效果很一般

陶胤
2023-12-01

  吾先后编译过OpenJDK8/OpenJDK12,都有详细编译记录。解决了一些问题,同样觉得有两个问题急需解决:

  • 各虚拟机之间的类共享。什么意思?比如说汝启动了两个虚拟机,都需要用到Test类,结果就加载两次。这太愚昧了……
  • 垃圾收集。现在有shenandoah、zgc两种,效果都很好,结果OpenJDK8都没有。

  这两个特性,实际上在最新版本的JDK中已经有了。可是目前用得最广泛的OpenJDK8没有啊。吾想自己动手,可是这样大的工程,显然不是个人简单动手就能解决的。公司目前也不可能支持吾搞这样的大项目。

  晚上看了一个文章,说华为毕昇JDK把类数据共享(CDS)移植到JDK8,把zgc移植到JDK11:

https://blog.csdn.net/bjweimengshu/article/details/109589689

https://gitee.com/openeuler/bishengjdk-8

  只支持LINUX/ARM。WINDOWS,别的CPU怎么办?好不好解决编译问题?吾试着在WINDOWS上编译了一下,果然不通过。错误如下:

C:\DEVELOP\bishengjdk-8\hotspot\src\share\vm\runtime\arguments.cpp(2178) : error C2057: 应输入常量表达式
C:\DEVELOP\bishengjdk-8\hotspot\src\share\vm\runtime\arguments.cpp(2178) : error C2466: 不能分配常量大小为 0 的数组
C:\DEVELOP\bishengjdk-8\hotspot\src\share\vm\runtime\arguments.cpp(2178) : error C2133: “buffer”: 未知的大小
NMAKE : fatal error U1077: “C:\progra~2\micros~2.0\vc\bin\amd64\cl.exe”: 返回代码“0x2”

  测试JDK8的CDS,效果很一般,没有想象的那么好。也不知道什么原因。

https://quantum6.blog.csdn.net/article/details/110000701

 类似资料: