Java元注解之@Retention_retentionpolicy不能选多个吗-程序员宅基地

首先,元注解是指标注在注解上的注解...有点拗口

@Retention :定义该注解的保留级别

其中@Retention(RetentionPolicy.*)的RetentionPolicy是该元注解的枚举属性,有三个值

package java.lang.annotation;

/**
 * Annotation retention policy.  The constants of this enumerated type
 * describe the various policies for retaining annotations.  They are used
 * in conjunction with the {@link Retention} meta-annotation type to specify
 * how long annotations are to be retained.
 *
 * @author  Joshua Bloch
 * @since 1.5
 */
public enum RetentionPolicy {
    /**
     * Annotations are to be discarded by the compiler.
     */
    SOURCE,

    /**
     * Annotations are to be recorded in the class file by the compiler
     * but need not be retained by the VM at run time.  This is the default
     * behavior.
     */
    CLASS,

    /**
     * Annotations are to be recorded in the class file by the compiler and
     * retained by the VM at run time, so they may be read reflectively.
     *
     * @see java.lang.reflect.AnnotatedElement
     */
    RUNTIME
}

三个值对应三个级别

1.SOURCE  即该注解只存在于源码中,编译成class文件的时候就被转换成响应的代码了...

2.CLASS 即该注解存在于源码和class文件中,运行时不存在

3.RUNTIME 即该注解存在于源码、class文件、运行时

三者的lifecycle:SOURCE<CLASS<RUNTIME 即后者能作用到的范围,前者亦可。

:利用反射机制获取Class的注解时,只有RUNTIME的注解才能被获取到。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014662858/article/details/87254729

智能推荐

DSSAT安装事项-程序员宅基地

文章浏览阅读1k次。1.安装DSSAT软件,注意需要安装在默认C盘,否则工具栏一片空白!!!2.卸载重装可以直接在控制面板里卸载,不放心的话,打开注册表,HKEY_CURRENT_USER--SOFTWARE--DSSAT删除该文件夹。然后重装就可以了。..._dssat安装

Vite的学习_vite http2-程序员宅基地

文章浏览阅读262次。Vite和Vue-cli的对比Vite在开发模式下不需要打包可以直接运行,使用的是ES6的模块化加载规则。 Vue-cli开发模式下必须对项目打包才可以运行 Vite基于缓存的热更新 Vue-cli基于webpack的热更新不打包不会对浏览器造成阻塞吗?不会,因为Vite可以开启http2来启动多路复用Vite生产环境环境下需要打包吗?需要,尽管原生 ESM 现在得到了广泛支持,但由于嵌套导入会导致额外的网络往返,在生产环境中发布未打包的 ESM 仍然效率低下(即使使用 HTTP/2)。为_vite http2

unity5下的第一人称射击游戏--僵尸大战(一)_zombie invasion unity-程序员宅基地

文章浏览阅读3.9k次。本次例子来自书《unity3D手机游戏开发》但是由于书里是u4版本下的,笔者用的是u5的,笔者由此想做这样的一个系列的博文,也会记录下遇到的一些问题。u5的界面如下,具体工具栏的说明推荐大家去看爱国者的《unity5中文指导手册》,虽然现在只有30页,不过很棒。这是书本的目录在开始前说几个问题,曾困扰了笔者许久,希望读者不会遇到。1.在u_zombie invasion unity

KG摘要--大白话_event detection (ed) 提出的概念-程序员宅基地

文章浏览阅读169次。什么是事件抽取?怎么做?EE主要有两种方法:joint approach和 pipelined approach;前者同时predicts event triggers and arguments;后者首先performs trigger prediction,然后identifies arguments in separate stages.联合抽取的好处是,可以阻止error propagation,以及从全局对 inter-dependencies 建模Event Detection(ED)._event detection (ed) 提出的概念

HTML5生日快乐祝福网页制作【蛋糕烟花+蓝色梦幻海洋3D相册】HTML+CSS+JavaScript-程序员宅基地

文章浏览阅读462次,点赞8次,收藏9次。1 网页简介:基于HTML+CSS+JavaScript 制作七夕情人节表白网页、生日祝福、七夕告白、 求婚、浪漫爱情3D相册、炫酷代码,快来制作一款高端的表白网页送(他/她)浪漫的告白,制作修改简单,可自行更换背景音乐,文字和图片即可使用等任意html编辑软件进行运行及修改编辑等操作)。

IDEA搭建SpringMvc详解_springmvc jetbrain-程序员宅基地

文章浏览阅读94次。工具(IDEA)下载地址:https://www.jetbrains.com/idea/download/#section=windows本文截取文章来源:https://www.cnblogs.com/wormday/p/8435617.html考虑对方可能删了博客看不到的情况,这里自己截图保存一份,对方写的很仔细.初学的朋友可以看看,老鸟忽略...._springmvc jetbrain

随便推点

web集群学习:nginx+keepalived实现负载均衡高可用性-程序员宅基地

文章浏览阅读2.1k次,点赞2次,收藏2次。​在Keepalived+ Nginx 高可用负载均衡架构中,keepalived 负责实现高可用。它是一个高性能的服务器高可用或者热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx的配合实现Web服务器端的高可用。使用keepalived可以保证nginx的高可用,他能监控nginx的健康状态,当nginx出现宕机时自动主备切换。​_nginx+keepalived实现负载均衡

Java学习【类加载器ClassLoader】_java classloader 加载类-程序员宅基地

文章浏览阅读344次,点赞3次,收藏4次。跟着大佬们的文章学习,这次再深入学习一下类加载器文章目录一、简介:二、类文件的编译过程三、类加载器引导类加载器(BootstrapClassLoader)扩展类加载器(ExtensionsClassLoader)应用类加载器/系统类加载器(AppClassLoader)自定义类加载器(UserDefineClassLoader)四、双亲委派机制五、双亲委派机制的好处六、CLassLoader类核心方法6.1:`loadClass(String)`——加载指定的Java类6.2:`findClass(Str_java classloader 加载类

2023年了,什么样的人适合学网络安全?_2023年男孩学网络安全迟吗-程序员宅基地

文章浏览阅读809次,点赞15次,收藏14次。适合学习网络安全的人肯定是“爱钻研”的,安全防御讲究系统、纵深,这就导致做安全肯定很繁琐,攻击的角度也是一样,需要研究和尝试大量的角度,在层层防御里面找到蛛丝马迹,所以对系统原理、编程语言、底层架构了解的越多越容易发现问题。适合学习网络安全的人也喜欢“瞎看”,安全是一个攻防对抗的过程,相对来说,易攻难守,因为防御是一个系统的事情,攻击只需要一个点一条路就能突破,新的角度看问题可能就有新的发现,甚至是降维打击。信息安全是指对整个局域网的安全防护,包括防火墙、安全网关、入侵检测、入侵防御、加密机等等。

南阳理工学院计算机科学与技术分数线,南阳理工学院计算机科学与技术专业2016年在吉林理科高考录取最低分数线...-程序员宅基地

文章浏览阅读143次。类似问题答案南阳理工学院计算机科学与技术(信息对抗与管理方向)专业2016年在黑龙江理科高考录...学校 地 区 专业 年份 批次 类型 分数 南阳理工学院 黑龙江 计算机科学与技术(信息对抗与管理方向) 2016 二批 理科 445 学校 地 区 专业 年份 批次 类型 分数 南阳理工学院 黑龙江 计算机科学与技术(信息对抗与管理方向) 2016 二批 理科 445 南阳理工学院 黑龙江 计算机..._南阳理工学院福建2016分数线计算机

./configure,make,make install的作用_有些源码文件带有,configure,它是用来检测安装平台的目标特征运行-程序员宅基地

文章浏览阅读84次。拿来于http://www.linuxidc.com/Linux/2011-02/32211.htm有助理解的一篇文章./configure,make,make install的作用[日期:2011-02-12]来源:Linux社区 作者:Linux[字体:大 中 小]这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装..._有些源码文件带有,configure,它是用来检测安装平台的目标特征运行

NavigationView的依赖_navigationview依赖-程序员宅基地

文章浏览阅读1.4k次。NavigationView的依赖将如下代码添加到app/build.gradle中的dependencise闭包中即可 def nav_version = "2.1.0" implementation "androidx.navigation:navigation-fragment:$nav_version" implementation "androidx.navigati..._navigationview依赖