A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张云杰 高级黑马   /  2013-7-8 21:23  /  1705 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-9 21:13 编辑

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

一个是class

还有一个是类加载器调用

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

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

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


评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

3 个回复

倒序浏览
本帖最后由 王靖远 于 2013-7-8 21:45 编辑

记不清了。去看看API。有点混淆了
回复 使用道具 举报
王靖远 发表于 2013-7-8 21:40
记不清了。去看看API。有点混淆了

你竟然还存活着
回复 使用道具 举报
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应该就是运行时候有

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马