首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java注释处理和字节码操作

Java注释处理和字节码操作
EN

Stack Overflow用户
提问于 2018-12-14 19:25:24
回答 1查看 622关注 0票数 1

据我所知,批注处理器是Java编译器的一个“插件”,这意味着批注处理是在编译时完成的。

由于字节码操作也可以在编译时进行,那么是否可以在编译时从批注处理器生成的类中操作字节码?

是否在编译器实际编译任何东西之前进行批注处理,以便在主编译阶段编译生成的类?

或者更广泛地说,有人能给我解释一下,或者给我介绍一下Java文档中关于javac编译器和批注处理器的执行顺序吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-03-18 04:50:33

批注处理发生在“分析和输入”阶段之后和“分析和生成”阶段之前。有关编译管道的可视化表示,请参阅compiler overview。这意味着在运行批注处理器时,类文件还不存在。

批注处理器不能改变它所处理的编译单元的AST。它可以生成新的类型(作为源代码或字节码,尽管我不知道后者的任何实际示例),它还可以创建已处理类型的超类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53778841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档