一 源码赏析

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相关推荐

  1. Java注解之Retention、Documented、Target介绍

    https://blog.csdn.net/limj625/article/details/70242773

  2. 深入理解 Java 注解

    本文内容基于 JDK8.注解是 JDK5 引入的,后续 JDK 版本扩展了一些内容,本文中没有明确指明版本的注解都是 JDK5 就已经支持的注解. :notebook: 本文已归档到:「blog」 : ...

  3. java 注解的几大作用及使用方法详解(转载)

    ava 注解,从名字上看是注释,解释.但功能却不仅仅是注释那么简单.注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后某个时刻方便地使用这些数据(通过 解析注 ...

  4. java 注解使用_Java 注解用法

    Java 注解用法 1.简述 Annontation是Java5开始引入的新特征.中文名称一般叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata) 与程序元素(类.方 ...

  5. 玩转Java注解:元注解、内置注解、自定义注解的原理和实现

    点击关注公众号,实用技术文章及时了解 来源:www.jianshu.com/p/ddd0b880641a 前言 Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种 ...

  6. JAVA 注解的几大作用及使用方法详解

    java 注解,从名字上看是注释,解释.但功能却不仅仅是注释那么简单.注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后 某个时刻方便地使用这些数据(通过 解 ...

  7. java retentionpolicy_Java注解之如何利用RetentionPolicy.SOURCE生存周期

    上一篇文章简单讲了下Java注解的学习之元注解说明,学习了Java注解是如何定义的,怎么使用的,但是并没有介绍Java的注解是怎么起作用的,像Spring Boot里面的那些注解,到底是怎么让程序这样 ...

  8. java 注解 runtime_自定义注解之运行时注解(RetentionPolicy.RUNTIME)

    对注解概念不了解的可以先看这个:Java注解基础概念总结 前面有提到注解按生命周期来划分可分为3类: 1.RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成clas ...

  9. java注解 @Target和@Retention详解

    java注解,也叫元数据,下面我向大家介绍一下java注解 掌握后大家也可以自定义一些注解来使用,下面写了一个简单例子给大家参考. @Target : Target翻译中文为目标,即该注解可以声明在哪 ...

最新文章

  1. python 线程锁 共享全局变量 线程通信
  2. 不看不知道 Vista回收站暗藏的大秘密
  3. SVN 版本服务器搭配全过程详解(含服务端、客户端)
  4. Android中Toast的用法简介
  5. Python编程基础:第五十四节 排序Sort
  6. 三年深入探索,网易云信让在线医疗做到技术“在线”
  7. kubeadm部署k8s_用 kubeadm 部署生产级 k8s 集群
  8. php dechex 补零,PHP dechex()函数
  9. html5难点,学习HTML5的难点是什么?
  10. linux uniq 命令详解
  11. POI写Word换行
  12. 屏幕尺寸、分辨率、DPI、PPI
  13. python爬取ppt课件_Python 爬虫 好大学在线PPT
  14. 区块链100讲:如果连电子钱包都不懂,还谈什么区块链开发(有彩蛋)
  15. android 点赞截图,朋友圈点赞p图软件
  16. ubuntu恢复分区表——testdisk
  17. 在Python中使用Pandas.DataFrame对Excel操作笔记一 - 从Excel里面获取说需要的信息
  18. 在Gilt将微服务部署到AWS:ION-Roller简介
  19. 视频信号指标与测试方法
  20. opengl 画椭圆_如何用彩铅画一朵牡丹?彩铅牡丹花的画法步骤,彩铅花卉画入门教程...

热门文章

  1. php 取数值整数的函数是,PHP取整数函数常用的四种方法小结
  2. android 动态contextmenu,在Android中使用ContextMenu与ListView
  3. html页面foot,HTML tfoot用法及代码示例
  4. java中的Attribute类_java培训技术ModelAttribute注解修饰POJO类型的入参
  5. ruby hash方法_Hash.fetch()方法以及Ruby中的示例
  6. 我写了10年博客,却被人说“不火”?我是这样怼回去的?
  7. 虹软安卓人脸识别初学
  8. Hadoop 副本存储策略的源码修改和设置
  9. Docker Consul 安装及使用服务发现
  10. LeetCode题库整理【Java】—— 1两数之和