质量推广提醒 - JDK 24 准备限制本地访问
💡
原文英文,约800词,阅读约需3分钟。
📝
内容提要
OpenJDK质量小组推动使用OpenJDK构建测试FOSS项目,以提升发布质量。JDK 24通过JEP 472引入默认完整性政策,要求开发者明确批准可能破坏完整性的特性,并对JNI和FFM的受限操作发出警告。新工具jnativescan可帮助识别使用JNI的库。
🎯
关键要点
- OpenJDK质量小组推动使用OpenJDK构建测试FOSS项目,以提升发布质量。
- JDK 24通过JEP 472引入默认完整性政策,要求开发者明确批准可能破坏完整性的特性。
- JNI和FFM的受限操作将发出警告,未来版本将转为抛出异常。
- 受限的JNI操作包括System::loadLibrary、System::load等。
- 受限的FFM操作包括AddressLayout::withTargetLayout、Linker::downcallHandle等。
- 执行受限操作将默认输出警告,未来版本将阻止这些操作。
- 可以通过--enable-native-access和--illegal-native-access命令行选项配置受限操作的行为。
- 新的工具jnativescan可帮助识别使用JNI的库,并报告受限方法的使用情况。
❓
延伸问答
JDK 24引入了什么新的完整性政策?
JDK 24通过JEP 472引入了默认完整性政策,要求开发者明确批准可能破坏完整性的特性。
什么是jnativescan工具,它的作用是什么?
jnativescan是一个新工具,用于静态扫描提供的模块路径或类路径中的代码,报告使用受限方法和声明的本地方法。
如何配置JDK 24中的受限操作?
可以通过命令行选项--enable-native-access和--illegal-native-access来配置受限操作的行为。
JDK 24中哪些JNI操作被视为受限操作?
受限的JNI操作包括System::loadLibrary、System::load、Runtime::loadLibrary和Runtime::load等。
未来版本将如何处理受限操作?
未来版本将阻止受限操作,并将其转为抛出异常,而不是仅仅输出警告。
JDK 24中FFM的受限操作有哪些?
受限的FFM操作包括AddressLayout::withTargetLayout、Linker::downcallHandle、Linker::upcallStub等。
➡️