16-注解的生命周期
10.2.7 注解的生命周期
注解也是有生命周期的,和Java一样,Kotlin将注解的生命周期分为3个阶段:源文件阶段、字节码阶段和内存字节码阶段。
- 源文件阶段:在这一阶段,通过使用命令Kotlinc把Kotlin源文件编译成Class文件,同时将相应的注解删除。
- 字节码阶段:此阶段主要在JVM中操作,当JVM通过ClassLoader向内存中加载字节码文件时,JVM会删除相应的注解。
- 内存字节码阶段:当JVM运行内存的字节码时,仍然可以保留并执行某些注解,在这一阶段,程序可以通过反射来访问内存字节码阶段的注解。
需要注意的是,对于源文件阶段和字节码阶段的注解,因为在JVM执行内存中的字节码时,相应的注解已经被Kotlinc或者JVM删除,所以无法通过反射来访问相应的注解信息。