什么是龙芯平台JDK?
龙芯公司基于OpenJDK从无到有实现的LoongArch64和MIPS64上的版本。
龙芯平台JDK是基于开源的OpenJDK研发的,通过了JCK的测试,符合Java SE的标准。 龙芯平台JDK使用GPLv2,with Classpath Exception授权协议。
为什么会有两个指令集版本的JDK?
因为龙芯CPU目前有两套指令集架构。龙芯5000系列使用了最新的LoongArch64自主指令集架构,龙芯5000之前的处理器都是基于MIPS64指令集架构,不同CPU的指令集不同,需要安装使用对应指令集版本的JDK,不同指令集JDK无法混用。
为什么不基于Oracle JDK版本实现?
- Oracle JDK是Oracle公司发布的版本,没有开放源代码,无法移植到Oracle JDK不支持的平台上。
- Oracle JDK和OpenJDK都是JDK的具体实现,只要是符合Java SE标准的程序,均可在Oracle JDK和OpenJDK上运行。
- 龙芯平台JDK是100%开源的且可免费下载和使用,并遵循GPLv2 with the Classpath Exception协议,在使用或重新发布方面无限制,相比Oracle JDK更自由更可控。
- Oracle计划从2019年1月起开始停止jdk8u的免费更新,而龙芯平台JDK不存在这方面的问题,会长期支持jdk8。
龙芯平台JDK和OpenJDK社区版本区别
在有些OS发行版(比如:Debian)中,默认集成的是OpenJDK社区版。 目前,OpenJDK社区版的LoongArch和MIPS这两个版本都使用是Zero的解释器,无论是性能还是成熟度上都较龙芯平台JDK的JIT版本均有较大差距(性能想差数十倍),因此建议使用龙芯平台JDK。
如何识别这两个版本?
通过观察java -version的输出,如果包含Zero或interpreted mode字样,则为社区的Zero解释器版本,比如:
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1~deb9u1-b10)
OpenJDK 64-Bit Zero VM (build 25.222-b10, interpreted mode)
龙芯发布的版本一般会包含Loongson(说明是龙芯的源码)、Sever(说明是JIT版本)和mixed mode字样,则说明是龙芯的JIT版本,比如:
openjdk version "1.8.0_60"
OpenJDK Runtime Environment (Loongson 8-loongson3a-Loongnix) (build 1.8.0_60-b32)
OpenJDK 64-Bit Server VM (build 25.60-b24, mixed mode)
目前已经发布的龙芯平台JDK
OpenJDK 8(最新8.1.10版本) OpenJDK 11(最新11.1.0版本)(这是自Java 8后的首个长期支持 (Long-Term Support, LTS) 版本) OpenJDK 17(最新17.1.0版本)(Java 17是最新发布的长期支持 (Long-Term Support, LTS) 版本)
龙芯平台JDK支持JavaFX吗?
支持。
关于JavaFX支持
龙芯平台JDK从JDK8-MIPS64-rc14版本开始支持JavaFX。
龙芯平台目前支持哪些Java软件?
ECLIPSE Netbeans IDE Apache Tomcat(含Spring模板框架、Hibernate、MySQL JDBC) Jenkins 永中Office 东方通中间件 金蝶中间件 各种OA系统 各种商业系统:例如Jira 4.1.1 各种开源Java系统:例如Xwiki、JeeCMS等 各种Java Applet小程序 Glassfish(J2EE应用服务器) CoreMail邮件系统
|