JDK 24在性能和安全性改进之外,一个重要变化是在JDK中用新的Class-File API(JEP 484)取代了传统的ASM接口。这对Java Agent开发带来了显著影响:
此前Java agent在动态修改字节码时主要依赖ASM库,ASM是一个第三方字节码操作框架,需要作为额外依赖引入。Class-File API作为JDK内置的标准API,使得agent在修改Java字节码时更加方便快捷,无需依赖外部库。同时作为官方标准API,Class-File API与JDK版本保持同步更新,避免了ASM版本与JDK版本不兼容的问题。
与JDK 24的Class-File API相呼应,GraalVM 24也迈出了在native image中支持Java agent的第一步,两者共同推动了Java生态中agent技术的发展和标准化。对于开发者来说,这意味着未来基于Class-File API开发的agent将同时在JVM和GraalVM环境中获得更好的支持。