一、针对国产CPU的JDK选择
背景需要调研使用国产的CPU,需要什么样的JDK?以国产CPU飞腾和龙芯为例,飞腾是ARM架构,而龙芯是MIPIS架构,默认为JDK8。下面的JDK都是在openJDK的基础上增加了一些特性或者优化了JVM的特性,经过测试和生产实践之间之后推出的,所以相对openJDK有更好的可靠性。ARMv8飞腾阿里Dragonwell官网:http://dragonwell-jdk.io/code:https://github.com/alibaba/dragonwell8使用指南:https://github.com/alibaba/dragonwell8/wiki/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Dragonwell8%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97特点:JWarmup:根据前一次程序运行的情况,记录下热点方法、类编译顺序等信息,在应用下一次启动的时候积极加载相关的类,并积极编译相关的方法,进而应用启动后可以直接运行编译好的Java代码。JFR:JavaFlightRecorder(JFR)是一款用于收集Java应用运行过程中的诊断及性能数据的工具,目前已经被集成进AlibabaDragonwell中。在使用默认配置的情况下,JFR带来的额外开销将小于2%,因此可以用在生产环境。G1ElasticHeap:支持在G1中动态归还堆物理内存并降低Java进程的内存占用。Wisp:Wisp在JVM上提供了一种用户态的线程实现。开启Wisp2后,Java线程不再简易地映射到内核级线程,而是对应到一个协程,JVM在少量内核线上调度大量协程执行,以减少内核的调度开销,提升web服务器的性能。Linux/AArch64,可用于生产https://developer.aliyun.com/article/781168华为Dishengjdkcode:https://gitee.com/openeuler/bishengjdk-8https://gitee.com/openeuler/bishengjdk-11使用说明:https://gitee.com/openeuler/bishengjdk-8/wikis/Home特点
1.毕升JDK8支持了AppCDS,可以大幅缩短应用启动速度和多进程内存占用,对于短生命周期、大内存占用的应用,以及容器应用有较好的优化效果
2.毕升JDK11在ARM架构上支持了实验性质的ZGC,支持最大10ms时延,并进行了稳固性增强,开发者在ARM架构上也可以享受到低时延GC算法带来的优势
3.毕升JDK8&11同时支持快速序列化技术,这项技术为一些场景提供了相比于Java原生序列化更强的序列化能力,在部分场景性能提升可达20%。Linux/AArch64可用于生产参考阅读:https://www.infoq.cn/article/1pqgp5ebmaqcuscwtc9qhttps://www.hikunpeng.com/developer/devkit/compiler?data=JDK支持的OS列表操作系统名称版本操作系统镜像文件名称CentOS7.6CentOS-7-aarch64-Everything-1810.isoUbuntu18.04ubuntu-18.04.5-live-server-amd64.isoUbuntu20.04LTSubuntu-20.04.2-live-server-amd64.isoopenEuler21.03openEuler-21.03-aarch64-dvd.isoopenEuler20.03LTSSP1openEuler-20.03-LTS-SP1-aarch64-dvd.isoUOSV20uos-20-SP1-server-arm64.iso麒麟V10Kylin-Server-10-SP1-Release-Build04--arm64.iso腾讯KonaJDKhttps://github.com/Tencent/TencentKona-8支持:x86-64linux-aarch64向量计算(VectorAPI)。针对大数据、机器学习场景的“算力”优化需求,让JVM应用可以充分利用SIMD能力,移植并改进了社区前沿版本中的VectorAPI技术,解决了avx512向量可靠性等生产障碍,研发了向量移位寄存器分配等深度优化,并且已经upstream大量相关优化到OpenJDK主分枝。开箱即用的ZGC。作为Java生态翘首以待的“无暂停”GC算法之一,ZGC有望提供大部分情况下毫秒级停顿水平,极大提高Java在线服务场景生产力,但由于可靠性和功能的不足,某种程度上减慢了JDK11采纳速度。KonaJDK补齐了社区JDK11的能力短板,让Java开发者不必纠结于选择LTS还是非LTS版本,降低升级负担。超大堆和内存成本优化策略。面对从轻量级微服务,到多个超TB级大堆的严苛生产环境要求,KonaJDK11沉淀了相关GC、SVC工具等生产级别优化腾讯成为全球企业贡献第五名,是国内为OpenJDK贡献最多的公司,并且是历史首次有国内厂商进入“Notable”贡献者范围Linux/AArch64可用于生产下载地址:https://github.com/Tencent/TencentKona-8/releases使用说明:https://github.com/Tencent/TencentKona-8/wiki其他参考阅读:https://mp.weixin.qq.com/s/8xRLM0DDwjcyjp7nEanhQQ给Arm生态添把火,腾讯KonaJDKArm架构优化实践https://www.infoq.cn/article/lnyizvifggy14hufaljdKonaJDK赋能云上Java新生态https://mp.weixin.qq.com/s/LGNs9Ljp5PAnvo7RpwsO3wKonaJDK8新版本更新,国密算法轻松用https://blog.csdn.net/Tencent_BigData/article/details/0TencentKonaJDK11无暂停内存管理ZGC生产实践AdoptOpenJDK下载地址:https://adoptium.net/releases.html?variant=openjdk8&jvmVariant=hotspotLoongArch64/MIPS64龙芯JDK下载和使用说明:http://www.loongnix.cn/index.php/Java龙芯软件生态系列文章——聊聊龙芯Java开源http://www.loongnix.cn/index.php/%E9%A1%B9%E7%9B%AE龙芯相关项目http://www.loongnix.cn/index.php/%E9%A6%96%E9%A1%B5龙芯开源社区https://zhuanlan.zhihu.com/p/6在龙芯上项目迁移与国产CPU思考总结以上JDK都是支持aarch64都有生产实践除了龙芯相关的JDK都有大厂支持
二、支持龙芯LoongArch64架构 统信UOS V20专业版系统升级
统信UOS V20专业版系统已经支持龙芯LoongArch64架构的升级。具体升级内容和特点如下:完善LoongArch64架构支持:系统已经完善了对龙芯自研的LoongArch64架构的支持。适配了清华同方、联想、浪潮等多个整机厂商的多款龙芯3A5000整机设备。软件生态丰腴:在龙芯3A5000上适配了大量开源应用。通过wine技术移植了大量Windows应用,覆盖基本办公、通讯、播放音视频和图片处理等场景。毕升驱动引擎推送:毕升驱动引擎已正式推送至外网仓库。系统自带的打印管理器可自动识别已适配的打印机,一键安装毕升驱动,支持USB连接打印或网络打印机打印。用户数据保留功能:重装系统时可以保留用户数据。从官网下载统信UOS桌面专业版最新镜像进行安装时,可选择清空磁盘数据或保留磁盘之前已有的用户家目录下的数据。系统稳固性和安全性提升:修复了大量已知缺陷和安全漏洞。包括应用签名验证程序、任务栏托盘图标、控制中心检查更新、窗口管理器多任务视图快捷键、录屏时WPS输入问题、硬盘占满后系统崩溃、文件管理器写入U盘速度、影院硬解码、待机/休眠唤醒后播放问题、浏览器访问视频网站闪屏、备份还原问题以及应用商店状态异常等多个方面的修复。综上所述,统信UOS V20专业版系统升级后,不仅支持龙芯LoongArch64架构,还在软件生态、驱动支持、用户数据保留以及系统稳固性和安全性方面进行了全面提升。
三、用龙芯电脑打造你的游戏世界,虚幻引擎4现已来到龙芯5000平台
虚幻引擎4现已成功移植到龙芯3A5000平台,用户可在该平台上实现游戏开发、数字化建模及实时模拟训练等功能,标志着龙芯生态向高端图形化领域迈出重要一步。
一、虚幻引擎4移植的技术突破核心适配攻关:龙芯中科工程师针对Clang编译器适配、本地化加速及硬件差异化问题展开深度优化,确保虚幻引擎4(4.25版本)在LoongArch架构下平稳运行,并支持高动态游戏场景渲染。开发流程简化:用户通过选择打包选项即可完成软件发布,无需繁琐配置。例如,从虚幻应用商城下载的《花园》项目,经编译后可直接生成预览效果。性能验证:实际测试中,龙芯

当前位置:关于我们