OpenJDK 提议将提供 Java 类文件 API



根据 Java 社区的一项提议,Java 将获得一个用于处理 Java 类文件的 API。 类文件 API 提案草案要求提供用于解析、生成和转换 Java 类文件的 API。这个类文件库最初将作为 ASM Java 字节码操作框架的内部替代品。
最终,ASM 将从 JDK 中完全删除。 类文件 API 提案指出,类文件生成、解析和检测在 Java 生态系统中无处不在,有许多工具和库需要处理类文件。框架通常执行动态字节码检测。
提案指出,JDK 应该为读取、写入和转换 Java 类文件提供准确、完整、最新、高性能的 API。 API 的设计目标和原则包括让所有类文件实体(例如方法和字段)由不可变对象表示。用户驱动的导航也是一个目标。
激发对 Java 类文件库的调用的因素包括: JDK 整合,JDK 本身在处理类文件方面很重要。 JDK 使用 ASM 存在固有的延迟。 框架和运行 JDK 之间的版本偏差。
处理类文件的应用程序和框架通常捆绑一个类文件库,例如 ASM。但是由于新的类文件功能可以出现在任何 JDK 版本中,应用程序和框架更频繁地遇到比它们捆绑的库更新的类文件,从而导致运行时错误或框架试图从未来。开发人员需要一个能够在运行 JDK 时保持最新的类文件库。
JVM 和类文件格式现在比以前发展得更快。虽然有些演变很简单,但有些演变更复杂,例如 Project Valhalla 带来了新的字节码、字段描述符和验证规则。 自从编写 ASM 以来,该语言已经有了很大的改进。
计划要求最初将 ASM 替换为 JDK 的运行时依赖项,而不会造成不可接受的性能损失。另一个目标是替换编译器和 JDK 工具使用的内部类读取器库。最终,一系列框架和应用程序应该能够使用该库作为 ASM、cglib 和其他字节码库的替代方案。
版权所有 © 2022 IDG Communications, Inc. 如何选择低代码开发平台。

Yorumlar

Bu blogdaki popüler yayınlar

只需50美元即可训练成为一名熟练的Python编码器

DataStax 使 Astra 流媒体服务普遍可用

TypeScript 4.1 Beta带来了模板文字类型