请问,@Retention 中SOURCE, CLASS有啥用啊
Retention表示作用范围,SOURCE一般用于标记,比如javadoc,或为了其他人易于理解你的程序,如@Override。class范围的说起来有点复杂,当程序使用编译好的class文件时,需要用类加载器把class文件加载到内存中,class文件中的东西不是字节码,class文件里面的东西由类加载器加载到内存中去,类加载器在加载class文件时,会对class文件里面的东西进行处理,如安全检查,处理完以后得到的最终在内存中的二进制的东西才是字节码,类加载器在把class文件加载到内存中时也有转换,转换时是否把class文件中的注解保留下来?class范围不保留,runtime则保留