美文网首页JAVA基础
java注解@Retention保留时机详析

java注解@Retention保留时机详析

作者: 在岁月中远行 | 来源:发表于2022-05-01 22:31 被阅读0次

    注解@Retention用来修饰注解,是注解的注解。称为元注解。

    Retention注解有一个属性value,是RetentionPolicy枚举类型,决定了Retention注解应该如何去保持。

    RetentionPolicy有三个值:SOURSE,CLASS ,RUNTIME。

    1 注解只会保留在源文件中,编译时注解会被遗弃。

    2 注解会保留到class文件中,当class文件中被加载时遗弃,这是默认的注解生命周期。

    3 注解不仅被保留到class文件中,还会保留到虚拟机运行时一直存在。

    对应于:源文件,.class文件,内存中的字节码。

    使用场景:

    如果需要在运行时反射去获取注解信息,那只能用RUNTIME注解。

    如果编译时需要依赖注解进行预处理,比如生成一些辅助代码等,如Butterknihe,Arounter就用CLASS注解。

    如果只是做一些检查性操作,比如@Override和@SuppressWarnings,使用

    SOURSE注解,一般是供IDE使用。

    相关文章

      网友评论

        本文标题:java注解@Retention保留时机详析

        本文链接:https://www.haomeiwen.com/subject/ihtmyrtx.html