Java15 Hidden隐藏类
Java 15 引入了其他类字节码不能直接使用的隐藏类。这些隐藏类旨在供在运行时生成类并使用反射使用它们的框架使用。
隐藏类被定义为基于 Nest 的访问控制上下文的成员,它可以被卸载而与其他类无关。
该提案 JEP 371 旨在通过提供标准 API 来定义不可发现且生命周期有限的隐藏类,从而改进 JVM 上的所有语言。JDK 框架或外部框架可以动态生成类,从而可以生成隐藏类。
JVM 语言在很大程度上依赖于动态类生成以获得灵活性和效率。
Java15隐藏类的目标
以下是此增强功能的目标列表。
-
框架应该能够将类定义为框架的不可发现的实现细节,这些类既不能链接到其他类,也不能使用反射发现。
-
使用不可发现的类继承访问控制嵌套。
-
积极卸载隐藏类,这将有助于框架根据需要定义尽可能多的隐藏类,而不会降低性能。
-
弃用非标准 API misc.Unsafe::defineAnonymousClass,将在未来版本中删除。
热门文章
优秀文章