乐趣区

JVM知识总结

1. 谈谈你对 java 的理解

java 怎么做到一次编译, 处处运行的呢?(平台无关性)

为什么 JVM 不直接将源码解析成机器码去执行?

因为 javac 编译成字节码的时候就要检查语法错误, 如果跳过这一环节的话, 每次 JVM 都要进行语法的检查, 大大的降低了执行的效率

JVM 怎么加载.Class 文件
首先由 jvm 的 classLoader(类加载器)把.class 文件加载到内存中, 然后由 Excution Engine(解释器)去解析指令, 最后交给操作系统去执行。
我们所写的程序都会被加载到运行数据区里面。

什么叫做反射?


例子
getMethod: 可以获取 public 修饰的属性和方法, 也可以获取继承或实现父类的方法, 但是不能访问 private
getDeclareMethod: 可以访问 private 修饰的属性和方法, 但是不能获取继承或实现父类的方法

退出移动版