Java 反射与注解
反射与注解 Java 从源码到执行一般需要三个过程: 编译并生成字节码文件,即 class 文件或者 jar 包 JVM 加载字节码文件并初始化运行环境,例如将字节码翻译成机器指令、初始化对象、加载依赖包等 执行 Java 程序 和 C/C++ 这类系统级编程语言相比,Java 多了生成字节码文件与翻译字节码文件这些中间步骤,这是 Java 实现“一次编译处处执行”的基础,也是反射和注解的底层基础。相同的字节码在不同的平台下会被 JVM 翻译成不同的机器指令,从而实现跨平台执行。 Java 提供了一种机制,允许我们在载入(创建)类对象时修改对象中的属性,这种机制基于 JVM:JVM 在将字节码翻译为机器指令的过程中可以修改对象属性的值,可以为对象添加其他方法等等。程序员可以通过 Java 内置的一些方法使用 JVM 的部分特性。 反射与类中的 Class 对象 维基百科 对计算机科学中的反射解释如下: In computer science, reflection is the ability of a process to examine, introspect, and modify its own structure and behavior. 在计算机科学中,反射是运行时查看与 修改 自身结构和行为的能力。 Java 中运行时可以通过反射修改属性和方法的访问限制(例如从