质量推广提醒 - 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等。

➡️

继续阅读