注解的生命周期

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 
相关推荐
Bs_MoneyMagnet1 分钟前
基于springboot+vue的旅游行程分享与推荐小程序的设计与实现 源码+文档
java·vue.js·spring boot·后端·微信小程序·毕业设计·计算机毕业设计
一技安身5 分钟前
【信创】统信UOS 银河麒麟离线部署Python3.11完整方案
android·java·python3.11
陈皮波比茶20 分钟前
k8s 快速入门
java·kubelet
Json____26 分钟前
基于 Spring Boot + Vue3 的校园自习室座位预约系统实战
java·管理系统·it学习·wwwoop.com
计算机毕设定制辅导-无忧学长30 分钟前
《基于Java的旧物回收管理系统设计与实现》
java·开发语言
彧azz32 分钟前
Java学习语法篇:键盘录入
java·笔记·学习
xcl092536 分钟前
24小时自助健身房系统开发:从架构设计到落地实践
java·spring boot
焦虑的说说44 分钟前
jvm专题
java
ruleslol1 小时前
System Prompt(系统提示词) 的用法
java·ai
user_admin_god1 小时前
第 03 篇:Java HttpClient 手写第一个 Chat 请求
java·人工智能·spring boot·语言模型