Java注解的Retention和RetentionPolicy
一 源码赏析
1 源码
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Retention {RetentionPolicy value();
}public enum RetentionPolicy {//此注解类型的信息只会记录在源文件中,编译时将被编译器丢弃,也就是说//不会保存在编译好的类信息中SOURCE,//编译器将注解记录在类文件中,但不会加载到JVM中。如果一个注解声明没指定范围,则系统//默认值就是ClassCLASS,//注解信息会保留在源文件、类文件中,在执行的时也加载到Java的JVM中,因此可以反射性的读取。RUNTIME
}
2 说明
Retention:(中文含义为“保留”)来定义一个注解的保存范围。
@Documented:将自定义注解设置为文档说明信息。
3 赏析内置注解的 Retention
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE) //注解信息只能在源文件中出现
public @interface Override {}@Documented
@Retention(RetentionPolicy.RUNTIME) //注解信息在执行时出现
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
public @interface Deprecated {}@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE) //注解信息在源文件中出现
public @interface SuppressWarnings {String[] value();
}
二 自定义注解的保存范围
1 代码
//定义该自定义注解的保存范围是RUNTIME
@Retention(value = RetentionPolicy.RUNTIME)
@interface AnnoationRetention
{public String value();
}
2 说明
AnnoationRetention的注解信息会保留在源文件、类文件以及Java虚拟机中。
Java注解的Retention和RetentionPolicy相关推荐
- Java注解之Retention、Documented、Target介绍
https://blog.csdn.net/limj625/article/details/70242773
- 深入理解 Java 注解
本文内容基于 JDK8.注解是 JDK5 引入的,后续 JDK 版本扩展了一些内容,本文中没有明确指明版本的注解都是 JDK5 就已经支持的注解. :notebook: 本文已归档到:「blog」 : ...
- java 注解的几大作用及使用方法详解(转载)
ava 注解,从名字上看是注释,解释.但功能却不仅仅是注释那么简单.注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后某个时刻方便地使用这些数据(通过 解析注 ...
- java 注解使用_Java 注解用法
Java 注解用法 1.简述 Annontation是Java5开始引入的新特征.中文名称一般叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata) 与程序元素(类.方 ...
- 玩转Java注解:元注解、内置注解、自定义注解的原理和实现
点击关注公众号,实用技术文章及时了解 来源:www.jianshu.com/p/ddd0b880641a 前言 Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种 ...
- JAVA 注解的几大作用及使用方法详解
java 注解,从名字上看是注释,解释.但功能却不仅仅是注释那么简单.注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后 某个时刻方便地使用这些数据(通过 解 ...
- java retentionpolicy_Java注解之如何利用RetentionPolicy.SOURCE生存周期
上一篇文章简单讲了下Java注解的学习之元注解说明,学习了Java注解是如何定义的,怎么使用的,但是并没有介绍Java的注解是怎么起作用的,像Spring Boot里面的那些注解,到底是怎么让程序这样 ...
- java 注解 runtime_自定义注解之运行时注解(RetentionPolicy.RUNTIME)
对注解概念不了解的可以先看这个:Java注解基础概念总结 前面有提到注解按生命周期来划分可分为3类: 1.RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成clas ...
- java注解 @Target和@Retention详解
java注解,也叫元数据,下面我向大家介绍一下java注解 掌握后大家也可以自定义一些注解来使用,下面写了一个简单例子给大家参考. @Target : Target翻译中文为目标,即该注解可以声明在哪 ...
最新文章
- python 线程锁 共享全局变量 线程通信
- 不看不知道 Vista回收站暗藏的大秘密
- SVN 版本服务器搭配全过程详解(含服务端、客户端)
- Android中Toast的用法简介
- Python编程基础:第五十四节 排序Sort
- 三年深入探索,网易云信让在线医疗做到技术“在线”
- kubeadm部署k8s_用 kubeadm 部署生产级 k8s 集群
- php dechex 补零,PHP dechex()函数
- html5难点,学习HTML5的难点是什么?
- linux uniq 命令详解
- POI写Word换行
- 屏幕尺寸、分辨率、DPI、PPI
- python爬取ppt课件_Python 爬虫 好大学在线PPT
- 区块链100讲:如果连电子钱包都不懂,还谈什么区块链开发(有彩蛋)
- android 点赞截图,朋友圈点赞p图软件
- ubuntu恢复分区表——testdisk
- 在Python中使用Pandas.DataFrame对Excel操作笔记一 - 从Excel里面获取说需要的信息
- 在Gilt将微服务部署到AWS:ION-Roller简介
- 视频信号指标与测试方法
- opengl 画椭圆_如何用彩铅画一朵牡丹?彩铅牡丹花的画法步骤,彩铅花卉画入门教程...
热门文章
- php 取数值整数的函数是,PHP取整数函数常用的四种方法小结
- android 动态contextmenu,在Android中使用ContextMenu与ListView
- html页面foot,HTML tfoot用法及代码示例
- java中的Attribute类_java培训技术ModelAttribute注解修饰POJO类型的入参
- ruby hash方法_Hash.fetch()方法以及Ruby中的示例
- 我写了10年博客,却被人说“不火”?我是这样怼回去的?
- 虹软安卓人脸识别初学
- Hadoop 副本存储策略的源码修改和设置
- Docker Consul 安装及使用服务发现
- LeetCode题库整理【Java】—— 1两数之和