首页 > 编程语言 >Java面试题(19)Java元注解之@Retention

Java面试题(19)Java元注解之@Retention

时间:2024-03-16 11:47:13浏览次数:17  
标签:面试题 Java 19 SOURCE 注解 RUNTIME CLASS Retention

序言

@Retention 注解是用来注解的注解,称为元注解,其作用可以简单理解为设置注解的生命周期。

@Retention 注解传入的是 RetentionPolicy 枚举,该枚举有三个常量,分别是 SOURCE、CLASS 和 RUNTIME

三者区别如下:

  • SOURCE 代表着注解仅保留在源级别中,编译器将Java文件编译成class文件时将之遗弃。
  • CLASS 代表着注解被保留在class文件中,JVM加载class文件时将之遗弃。
  • RUNTIME 代表着标记的注解会由JVM保留,因此运行时环境可以使用它。

关系:RUNTIME>CLASS>SOURCE

一般来说,我们自己定义的注解都是 RUNTIME 级别的,因为大多数情况我们是根据运行时环境去做一些处理。

而只要自定义的注解中**@Retention** 注解设置为 SOURCE 和 CLASS 这俩个级别,那么就需要继承 AbstractProcessor 并实现 process 方法,

因为 SOURCE 和 CLASS 这俩个级别等加载到JVM的时候注解就被抹除了。

资料

Java元注解之 @Retention

标签:面试题,Java,19,SOURCE,注解,RUNTIME,CLASS,Retention
From: https://www.cnblogs.com/cnki/p/18076865

相关文章

  • Codeforces 1948E Clique Partition
    考虑到有\(|i-j|\),所以肯定是让相邻的一部分在一个团里。考虑构造出一个最长长度的,后面类似复制几遍即可。考虑到\(|k-1|=k-1\),且因为\(a_i\)为一个排列,差的绝对值至少为\(1\),所以只考虑两端最长长度也只可能为\(k\)。不妨先假设最长长度为\(k\)来构造。那么......
  • CF1923D. Slimes
    Problem-1923D-Codeforces现在怎么菜成这样了aaaaaaa我们考虑枚举\(i\),则到底是谁吃掉了\(i\)不重要(我思考的时候就因为这个没有想到正解)\(i\)的后缀反着跑一边即可,因此只考虑\(i\)前缀把他吃掉的情况发现就是找一段最短的前缀的后缀和使区间里的和\(>......
  • java企业人事管理系统(ssm框架毕业设计)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义标题:企业人事管理系统的选题背景在现代企业管理中,人力资源作为企业最宝贵的资产之一,其管理效率和效果直接关系到企业的竞争力和发展潜力。传统的人力资源管理方式......
  • java企业日常事务管理系统(ssm框架毕业设计)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在现代商业环境中,企业的日常运营活动日益复杂多变。随着市场竞争的加剧和业务范围的拓展,企业内部的管理任务变得愈加繁重。传统的手工处理方式已无法满足......
  • java企业售后服务管理(ssm框架毕业设计)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在当今市场竞争日益激烈的环境下,企业除了注重产品的质量与创新外,越来越重视售后服务管理作为提升客户满意度和忠诚度的重要手段。随着消费者权益意识的增......
  • CF1948F 题解
    对于每个询问,可以把这\(r-l+1\)个袋子包合并成一个有\(\sum\limits_{i=l}^ra_i\)个金币和\(\sum\limits_{i=l}^rb_i\)个银币的袋子。\([l,r]\)外的袋子同理也可以这样合并。假设\(sum_a=\sum\limits_{i=1}^na_i,sum_b=\sum\limits_{i=1}^nb_i\),\(......
  • 访问JavaWeb项目报405错误
     一、问题由来一位朋友最近在学习JavaWeb开发,做测试时出现问题,页面报了405错误,HTTPStatus405?MethodNotAllowed如果是只出现一次,那也还好。主要是这个错误他遇到过多次,第一次就是刚开始学习Servlet的时候,还有一次是在学习文件上传的时候出现的。因此就特意写一篇博......
  • 任职资格中的一些面试题和知识点
    目录一、计算机数据结构基本概念理解:1.数组基本概念优缺点以及如何改进常用的操作底层实现还有哪些容易问到的问题:关于数组的一些衍生数据结构和算法问题2.链表基本概念:链表的节点是什么?每个节点包含哪些信息?常用操作:链表的底层实现:优缺点:链表与其他数据结构的区别:插......
  • springboot/java/php/node/python农产品销售系统小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的迅猛发展,传统农产品销售模式正逐步向线上转移。小程序作为移动互联网的一种轻量级应用,因其开发成本低、传播快、使用方便等特点,成为连接......
  • java毕设安卓基于安卓的图库管理系统(开题+源码)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着移动互联网技术的快速发展和智能手机普及率的不断攀升,人们对于移动设备上信息管理和共享的需求日益增长。安卓作为目前全球最受欢迎的移动操作系......