随笔分类 - 深入JVM理解
摘要:1.栈是先进后出 2.每当运行一个main方法,JVM都会启动一个JVM实例进程 3.基本数据类型的局部变量存放在栈中 4.当一个实例没有任可引用的时候,它就是JVM准备回收的对象(根据垃圾回收的算法回收) 5.栈、堆、方法区都有大小,当超出 6.栈帧:一个线程栈包含多个栈帧,每一个栈帧都代表一个方
阅读全文
摘要:类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定
阅读全文
摘要:例如:Test t= new Test(); 1).先检查该父类是否已经被加载,如果没有,则执行父类的类加载操作,父类的类加载和子类是一样的,会按照2)和3)的步骤进行加载初始化 2).现在方法区中检查是否已经加载过Test的Class对象信息,如果已经加载过,那么将忽略类加载的流程,直接使用Cla
阅读全文
摘要:类加载器(ClassLoader): 当编译器编译java源文件之后,会产生一个相应的字节码(.class文件)。当程序开始运行之前,必须将这个文件载入内存中,生成 一个与之匹配达到class对象。这个过程我们称之为类加载,要弄清楚加载的机制,首先我们必须要清楚了解类加载的相关知识,它石完成整个类加
阅读全文

浙公网安备 33010602011771号