Java虚拟机
liu__jiang
不用怕,不要愁,十年后,所有的事,都只是下酒菜。
展开
-
Java 虚拟机 之面试必知必会
深入理解Java 虚拟机 之垃圾收集器与内存分配策略一、概述1. 哪些内存需要回收?2. 什么时候回收?3. 如何回收?我们只有在程序处于运行期间才能知道会创建哪些对象,这部分内存的分配和回收都是动态的,垃圾收集器所关注的是这部分内存。二、对象“存活还是死去”垃圾回收之前首先得确定对象是“存活”还是“死亡”1.引用计数算法给对象添加一个引用计数器,每当有一个地...原创 2019-07-10 11:26:25 · 147 阅读 · 0 评论 -
Java 对象创建过程
对象创建在语言层面,创建一个对象通常仅一个new关键字就可以解决了,但是在虚拟机中,对象的创建要经过一个复杂的过程。方法区中的常量池当虚拟机遇到一个new关键字时,首先去方法区中的常量池中找有没有这个类的符号引用,并检查这个符号代表的类是否已经被加载、解析和初始化过,如果没有先执行类的加载过程。堆内存类加载完成后,接下来在虚拟机中的堆上划分出一块内存,存储类的对象(大小在类加载...原创 2019-09-04 10:11:42 · 175 阅读 · 0 评论 -
类加载过程
类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。其中,验证、准备和解析统称为连接(Linking)。过程如下图所示。下面我们来详细讲解Java虚拟机类...原创 2019-09-04 10:16:47 · 213 阅读 · 0 评论