为了账号安全,请及时绑定邮箱和手机立即绑定

java 9及更高版本是否仍然独立于平台?

java 9及更高版本是否仍然独立于平台?

千万里不及你 2022-05-12 16:31:10
我问这个问题是因为现在开发人员需要在不同的操作系统(如 Windows、Linux 或 Mac OS)上编译他的代码以创建最终的可交付成果。对于开发人员来说,它看起来更大的开销。
查看完整描述

3 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

是的,当然它仍然是平台独立的。

Java 字节码不会在 Windows、Linux 或 Mac OS 之间更改。

你可以把windows上编译好的class文件,或者里面有class的jar文件,复制到Linux或者Mac OS机器上,只要平台的主版本相同或者晚于最初编译它们的地方。

因此,如果它们是使用面向 Java 9 运行时的 Java 9 编译器编译的,那么执行它们的平台将需要是 Java 9 或更高版本。否则你会得到一个UnsupportedClassVersionError.


查看完整回答
反对 回复 2022-05-12
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

您似乎误解了Java 9 的自包含应用程序打包能力,它看起来将取代 Java Web Start 作为桌面应用程序的部署工具。

JWS 使用普通的 Jar 作为交付物,但要求用户机器上已经安装了 Java 运行时环境。另一方面,打包工具会将该 Jar 打包成适用于 Windows (a .exe) 或 Unix (a .so) 等的可执行文件。为此,它需要本机可执行文件包含 JRE 编码的部分对于每个系统(Jars 独立于平台,但需要为每个操作系统制作 JRE)。

如果您将可执行 Jar 交付给用户(并告知他们需要安装 Java 插件才能运行它),那么该 Jar 仍将与支持 Java 的所有操作系统兼容。


查看完整回答
反对 回复 2022-05-12
?
动漫人物

TA贡献1815条经验 获得超10个赞

java 是平台独立的,但 java 运行时环境(jre)不是。

所以,如果开发者想要为各种平台提供产品,而不需要在用户环境中安装jre,那么产品应该为每个平台包含不同的jre。

+) 编译无关紧要,只需要完成一次。


查看完整回答
反对 回复 2022-05-12
  • 3 回答
  • 0 关注
  • 197 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号