
JVM
Lucare
风能吹走纸张却吹不走蝴蝶,生命的力量在于不顺从!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
类加载的时机
类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。其中验证、准备、解析3个部分统称为连接。加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的。有且只有五种情况必须立即对类进行“初始化”: 遇到new、getstatic、putstatic、invokestatic这4条字节码指令时,如果类没有进行过初始化,则需要先触原创 2017-05-02 09:34:56 · 406 阅读 · 0 评论 -
类加载器
类加载器启动类加载器(Bootstrap ClassLoader):此加载器采用C++编写,一般开发中是看不到的。 负责将存放在\lib目录中的,或者被-Xbootclasspath参数所指定的路径中的,并且是虚拟机识别的类库加载到虚拟机中。扩展类加载器 (Extendsion ClassLoader):用来进行扩展类的加载,一般对应的是jre\lib\ext目录中的类; 应...原创 2017-04-27 17:47:27 · 403 阅读 · 0 评论 -
Java虚拟机结构
运行时数据区PC寄存器每一条Java虚拟机线程都有自己的pc寄存器。在任意时刻,一条Java虚拟机线程只会执行一个方法的代码,这个正在被线程执行的方法称为该线程的当前方法。如果这个方法不是native的,那pc寄存器就保存Java虚拟机正在执行的字节码指令的地址,如果该方法是native的,那pc寄存器的值是undefined。原创 2017-08-20 23:13:43 · 384 阅读 · 0 评论 -
Class文件格式
了解class文件的格式有助于我们理解Java虚拟机的工作方式,不管基于何种平台,最终生成的都是符合规范的class文件,虚拟机按照规范来理解并解析此文件。原创 2017-08-27 23:12:20 · 878 阅读 · 0 评论 -
方法调用
方法在程序真正运行之前就有一个可确定的调用版本,并且这个方法的调用版本在运行期是不可改变的。换句话说,调用目标在程序代码写好、编译器进行编译时就必须确定下来。这类方法的调用称为解析(Resolution)。原创 2017-10-22 23:03:18 · 829 阅读 · 0 评论