javac工具如何处理注释

javac工具如何处理注释,java,javadoc,Java,Javadoc,javac工具如何处理源代码中的注释?它们是否被编译并翻译成字节码,或者将以类似于处理注释行的方式处理它们?编译器以特殊方式处理注释。它们会被解析,但大多数注释对编译器没有任何意义。例如,如果不正确地使用@Override注释,则会发生编译时错误。您可以找到与编译器相关的注释列表 之后,行为取决于注释类型: 如果注释设置为运行时或类,则它实际上将包含在类文件中。如果保留策略是运行时,则甚至可以在运行时通过反射来访问注释。许多库使用它来提供一些额外的便利,例如JUnit使用@Test标记实现单元测

javac工具如何处理源代码中的注释?它们是否被编译并翻译成字节码,或者将以类似于处理注释行的方式处理它们?

编译器以特殊方式处理注释。它们会被解析,但大多数注释对编译器没有任何意义。例如,如果不正确地使用
@Override
注释,则会发生编译时错误。您可以找到与编译器相关的注释列表

之后,行为取决于注释类型:
如果注释设置为
运行时
,则它实际上将包含在类文件中。如果保留策略是
运行时
,则甚至可以在运行时通过反射来访问注释。许多库使用它来提供一些额外的便利,例如JUnit使用
@Test
标记实现单元测试的方法,并在运行时查找这些方法


此外,java编译器允许实现所谓的“注释处理器”,它可以访问编译单元的AST并处理注释。这是编译器确实处理注释的另一个证明。

定义“过程”是什么意思?你在说什么?是的,我指的是编译时注释处理。