注解的生命周期

1、RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃,示例:@Override

java 复制代码
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

2、RetentionPolicy.CLASS:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期,示例:@NotNull

java 复制代码
@Documented
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
public @interface NotNull {
    String value() default "";
}

3、RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在,这类注解很多,自定义的注解往往是RUNTIME,程序运行时需要一直存在,如spirng的各类引入注解,示例:@Resource

java 复制代码
@Target({TYPE, FIELD, METHOD})
@Retention(RUNTIME)
public @interface Resource 
相关推荐
小许好楠11 分钟前
java开发工程师-学习方式
java·开发语言·学习
Halo_tjn28 分钟前
基于 IO 流实现文件操作的专项实验
java·开发语言
姓蔡小朋友33 分钟前
MySQL事务、InnoDB存储引擎
java·数据库·mysql
业精于勤的牙37 分钟前
最长特殊序列(二)
java·开发语言·算法
林shir1 小时前
Java基础1.3-Java基础语法
java
Java小白笔记1 小时前
Java基本快捷方法
java·开发语言
尤老师FPGA2 小时前
使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第四十二讲)
android·java·ui
老朱佩琪!2 小时前
Unity备忘录模式
java·unity·备忘录模式
是一个Bug2 小时前
Java主流框架面试题(一)
java·开发语言
情爱少有真诚2 小时前
Java集合框架:数据存储与操作的利器
java·开发语言·经验分享·课程设计·ai编程