本文共 500 字,大约阅读时间需要 1 分钟。
目录
本文用于说明注解的保留策略分类,以及策略的相关使用目的与方式。
该注解在保留在.java文件中,在编译完成之后丢弃,即在.class文件中不会保留这个注解。
一般用于在编译时,通过注解对即将生成的.class文件进行干预,以生成自身期望生成的.class文件的样子
如:Lombok的@Data注解,会生成成员变量的get/set方法。即.class中会包含get/set方法(源代码.java文件中不需要编写get/set方法)
该注解保留在.class文件中,在运行环境VM中不保留该注解。
.class文件是用于生成对象的基础,当存在注解时,通过相应的逻辑干预,生成与原生.class文件不同的对象。
如:编织代理对象。
该注解保留在.class文件中,且在运行环境VM中保留该注解,在运行时,可以通过反射读取这些信息。
在运行时保留注解可以在执行时,通过判断方法等是否含有指定的注解,从而在运行时干预方法的执行逻辑,执行期望的过程。
如:动态代理。
转载地址:http://lfsvb.baihongyu.com/