- Java 10 教程
- Java 10 - 主页
- Java 10 - 概述
- Java 10 - 环境设置
- Java 10 - 基于时间的发布版本控制
- Java 10 - 局部变量类型推断
- Java 10 - 新 API 和选项
- Java 10 - 删除的功能和选项
- Java 10 - 已弃用的功能和选项
- Java 10 - JIT 编译器
- Java 10 - 类数据共享
- Java 10 - 增强的垃圾收集
- Java 10 - 区域设置增强
- Java 10 - 堆分配
- Java 10 - 统一的 JDK 森林
- Java 10 - 根证书
- Java 10 - 线程本地握手
- Java其他版本教程
- Java教程
- Java 8 教程
- Java 9 教程
- Java 10 有用资源
- Java 10 - 快速指南
- Java 10 - 有用的资源
- Java 10 - 讨论
Java 10 - 类数据共享
JEP 310 - 应用程序类数据共享
当 JVM 启动时,它会将类加载到内存中作为预备步骤。如果有多个具有多个类的 jar,则第一个请求会出现明显的滞后。在无服务器架构中,这种滞后可能会延迟启动时间,而启动时间是此类架构中的关键操作。应用程序类数据共享概念有助于减少应用程序的启动时间。Java 具有现有的 CDS(类数据共享)功能。通过应用程序类数据共享,Java 10 允许将应用程序类放入共享存档中。通过在多个 java 进程之间共享公共类元数据,可以减少应用程序的启动和占用空间。
过程
应用程序类数据共享过程分为 3 个步骤。
创建要归档的类列表- 使用 Java Launcher 创建位于welcome.jar 中的类 Greeting.java 的welcome.lst 列表。
$java -Xshare:off -XX:+UseAppCDS -XX:DumpLoadedClassList=welcome.lst -cp welcome.jar Greeting
创建 AppCDS 存档- 存档用于应用程序类数据共享的类列表。
$java -Xshare:dump -XX:+UseAppCDS -XX:SharedClassListFile=welcome.lst -XX:SharedArchiveFile=welcome.jsa -cp welcome.jar
使用 AppCDS 存档- 使用 java 启动器时使用 AppCDS 存档。
$java -Xshare:on -XX:+UseAppCDS -XX:SharedArchiveFile=welcome.jsa -cp welcome.jar Greeting