黑马程序员技术交流社区

标题: 求解下注解的生命周期 [打印本页]

作者: 张云杰    时间: 2013-7-8 21:23
标题: 求解下注解的生命周期
本帖最后由 杨兴庭 于 2013-7-9 21:13 编辑

听张老师的讲解愣是没听懂, 注解的生命周期
一个是java源文件

一个是class

还有一个是类加载器调用

老师说 源文件编译成class的时候有可能把注解去掉,

如果注解还在,那么被类加载器调用到内存的时候也有可能把注解去掉,

然后就懵了.. 那注解的生命周期不是只有2个,就是编译class跟类加载器调用到内存??  然后 源文件跟class 要怎么区分??? 底下的这个思考又得怎么看???



作者: 王靖远    时间: 2013-7-8 21:40
本帖最后由 王靖远 于 2013-7-8 21:45 编辑

记不清了。去看看API。有点混淆了
作者: 张云杰    时间: 2013-7-8 21:46
王靖远 发表于 2013-7-8 21:40
记不清了。去看看API。有点混淆了

你竟然还存活着
作者: 王靖远    时间: 2013-7-8 21:47
SOURCE
public static final RetentionPolicy SOURCE编译器要丢弃的注释。


--------------------------------------------------------------------------------

CLASS
public static final RetentionPolicy CLASS编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释。这是默认的行为。


--------------------------------------------------------------------------------

RUNTIME
public static final RetentionPolicy RUNTIME编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取。
API里面的解释。SOURCE应该就是给编译器看的吧,只/java文件中有 class应该是.class文件中有,运行时没有,runtime应该就是运行时候有




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2