版本
- 适用于 JDK 24 的 GraalVM(最新)
- 适用于 JDK 25 的 GraalVM(早期访问)
- 适用于 JDK 21 的 GraalVM
- 适用于 JDK 17 的 GraalVM
- 存档
- 开发构建
Java 的动态特性
在构建原生映像时,它只包含从应用程序入口点、其依赖库以及通过静态分析发现的 JDK 类开始的可达元素。然而,由于 Java 的动态特性(包括反射、资源访问等),某些元素的可达性可能无法被发现。如果某个元素不可达,则它不会被包含在生成的二进制文件中,这可能导致运行时故障。
因此,某些动态 Java 特性可能需要特殊“处理”,例如命令行选项或预置元数据,以便与使用 Native Image 进行的预先编译兼容。
此处提供的参考信息解释了 Native Image 如何处理 Java 的一些动态特性