博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
注解保留策略说明
阅读量:2346 次
发布时间:2019-05-10

本文共 500 字,大约阅读时间需要 1 分钟。

目录

 


本文用于说明注解的保留策略分类,以及策略的相关使用目的与方式。

 

RetentionPolicy.SOURCE

该注解在保留在.java文件中,在编译完成之后丢弃,即在.class文件中不会保留这个注解。

一般用于在编译时,通过注解对即将生成的.class文件进行干预,以生成自身期望生成的.class文件的样子

如:Lombok的@Data注解,会生成成员变量的get/set方法。即.class中会包含get/set方法(源代码.java文件中不需要编写get/set方法)

 

RetentionPolicy.CLASS

该注解保留在.class文件中,在运行环境VM中不保留该注解。

.class文件是用于生成对象的基础,当存在注解时,通过相应的逻辑干预,生成与原生.class文件不同的对象。

如:编织代理对象。

 

RetentionPolicy.RUNTIME

该注解保留在.class文件中,且在运行环境VM中保留该注解,在运行时,可以通过反射读取这些信息。

在运行时保留注解可以在执行时,通过判断方法等是否含有指定的注解,从而在运行时干预方法的执行逻辑,执行期望的过程。

如:动态代理。

转载地址:http://lfsvb.baihongyu.com/

你可能感兴趣的文章
axis2创建web service
查看>>
Axis,axis2,Xfire以及cxf对比
查看>>
近几年,产品经理这个岗位越来越火(2012-2013)
查看>>
推荐ReactNative脚手架工具
查看>>
Android BottomNavigation Demo
查看>>
Android编译工具Freeline的使用
查看>>
Hadoop 2.7集群环境搭建
查看>>
npm 更改默认全局路径以及国内镜像
查看>>
基于Win32Api创建窗口程序
查看>>
Java并发编程举例Runnable, Callable, Future, FutureTask, CompletionService
查看>>
ubuntu使用KVM创建虚拟机
查看>>
nginx的模块开发
查看>>
SpringBoot集成Swagger2
查看>>
Angular4.0.0正式发布,附新特性及升级指南
查看>>
ARM硬件调试设备比较
查看>>
最简单的React和Redux整合的例子
查看>>
智能问答在金融领域中的实践与应用
查看>>
ubuntu 16.04 安装MXNet GPU版本
查看>>
ubuntu 16.04 安装Caffe GPU版本
查看>>
Python Virtualenv Anaconda
查看>>