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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马-zhangping 中级黑马   /  2012-10-28 12:10  /  1762 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

注解生命周期是什么?

评分

参与人数 1黑马币 +6 收起 理由
韩军博 + 6 神马都是浮云

查看全部评分

4 个回复

倒序浏览
邹海洋 来自手机 中级黑马 2012-10-28 12:15:28
沙发
通俗的讲就是能用多长时间。即被创建到等待回收的时间。
回复 使用道具 举报
注解生命周期有3个阶段:源文件,class,字节码
从源程序一直到运行程序这个过程,java将源程序中的注解不断的去除,加上retention这个源注解(描述生命周期)来确定我们的注解在哪里保存
以下是3个状态直接转换时注解的变化:
源文件-->class:
在源程序加上一个注解,源程序通过javac编译成class文件,再编译class文件的时候,可能会将里面的一些注解去掉,这时候我们就拿不到我们想要的注解。

class-->字节码:
注解跟源程序一起被javac编译到class文件中,这时我们用这个class就需要通过类加载器加载到内存中,在这个时候class文件中并不是字节码,加载完以后经过安全处理等其他操作后生成的2进制才是字节码,在这当中可能会把一些注解去掉。

@Retention(RetentionPolicy.SOURCE)保留在源代码阶段(编译器编译是用,源文件-->class阶段)
@Retention(RetentionPolicy.CLASS)默认值,保留在class中(一直保存到生成class文件后)
@Retention(RetentionPolicy.RUNTIME)保留在字节码中(直译保存到运行时)

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 很给力!

查看全部评分

回复 使用道具 举报
软件生命周期(SDLC,Systems Development Life Cycle,SDLC)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
回复 使用道具 举报
藤椅 那块说的已经很全了 就不赘述了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马