Java 9 揭秘(7. 创建自定义运行时映像)

发布时间:2017-7-9 7:03:03编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Java 9 揭秘(7. 创建自定义运行时映像) ",主要涉及到Java 9 揭秘(7. 创建自定义运行时映像) 方面的内容,对于Java 9 揭秘(7. 创建自定义运行时映像) 感兴趣的同学可以参考一下。

在第一章节中,主要介绍以下内容:

  • 什么是自定义运行时映像和JIMAGE格式
  • 如何使用jlink工具创建自定义的运行时映像
  • 如何指定命令名称来运行存储在自定义映像中的应用程序
  • 如何使用jlink工具插件

一. 什么是自定义运行时映像?

在JDK 9之前,Java运行时映像可用作巨大整体的单体(artifact),从而增加了下载时间,启动时间和内存占用。单体JRE使得不可能在具有小内存的设备上使用Java。 如果将Java应用程序部署到云端,则需要支付使用的内存; 最常见的是,单体JRE使用的内存比所要求的内存还要多,因此为云服务支付更多的内存。 在Java 8中引入的Compact配置文件,以减少JRE大小,从而减少运行时内存占用 —— 通过允许将JRE的一个子集打包在称为Compact配置文件的自定义运行时映像中。

Java 9采用了整体的方法来打包运行时映像。 所有平台代码都已经模块化了。 你的应用程序代码也打包模块化了。 在Java 9中,可以创建一个自定义运行时,它将包含应用程序模块和应用程序所使用的平台模块。 还可以在运行时映像中打包本地命令。 创建运行时映像的另一个好处是,你只需将一个包——运行时映像——发送给你的应用程序用户,而不需要下载并安装单独的JRE软件包来运行应用程序。

运行时映像以特定格式存储,称为JIMAGE,该格式针对空间和速度进行了优化。 仅在运行时支持JIMAGE格式。 它是用于在JDK中存储和索引模块,类和资源的容器格式。 从JIMAGE文件搜索和加载类比从JAR和JMOD文件快很多。 JIMAGE格式是JDK内部的,开发人员很少需要直接与JIMAGE文件进行交互。

预计JIMAGE格式将随着时间的推移而不断发展,因此其内部部件不会面向开发人员。 JDK 9附带了一个名为jimage的工具,可用于浏览JIMAGE文件。

Tips
可以使用jlink工具来创建一个运行时映像,它使用一种名为JIMAGE的新文件来存储模块。 JDK 9附带jimage工具,可以浏览JIMAGE文件的内容。

如果你的代码期望将运行时映像存储在名为rt.jar文件的文件中,请谨慎。 JDK运行库存储在JDK 9之前的rt.jar文件中,但在JDK 9中不再是这样。当将应用程序迁移到JDK 9时,可能会破坏你的代码。

二. 创建自定义运行时映像

可以使用jlink工具创建特定于平台的运行时映像。 运行时映像将包含指定的应用程序模块和只需的平台模块,从而减少运行时映像的大小。 这对于在具有少量内存的嵌入式设备上运行的应用程序非常有用。 JDK 9附带了jlink工具。 它位于JDK_HOME\bin目录中。 运行jlink工具的一般语法如下:

jlink <options> --module-path <modulepath> --add-modules <mods> --output <path>

在这里,<options>包括jlink的零个或多个选项,如下面表格所示,<modulepath>是平台和应用程序模块所在的模块路径以添加到映像中。 模块可以是模块化的JAR,展开目录和JMOD文件。 <mods>是要添加到映像的模块的列表,这可能会导致添加其他模块,因为其他模块的传递依赖关系。 <path>是生成的运行时映像被存储的输出目录。



上一篇:【转】NPOI自定义单元格背景颜色
下一篇:Sql Server Report Service 的部署问题(Reporting Service 2014為什麼不需要IIS就可以運行)

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款