Java虚拟机
Felix_ar
每天进步一点点!
展开
-
Java虚拟机之----垃圾收集机制
一、前言 上一篇博文介绍了Java虚拟机的内存结构等内容,前面说到,虚拟机栈、本地方法栈和程序计数器这三者属于线程私有,随着线程而生也随着线程而灭; 对于这三者,当方法或者线程结束后,内存也自然跟着被回收,故而不需要对这三个区域进行垃圾回收。 因此垃圾收集主要是对堆和方法区而言。 二、垃圾收集(Garbage Collection,GC) 1、 判断一个对象是否“存活” 在堆里面存放着Java世界...原创 2019-01-14 13:28:18 · 221 阅读 · 0 评论 -
Java虚拟机之----垃圾收集算法&内存分配与回收策略
一、前言 上篇博文简单介绍了Java虚拟机的垃圾收集机制,本文就接着讲一讲常用的垃圾收集算法、垃圾收集器还有内存分配与回收策略。 二、垃圾收集算法 1、标记-清除算法 标记-清除算法是最基础的收集算法,因为后续的收集算法都是基于该算法的思路并对其不足进行改进而得到的,可分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。 缺点: 一个是效率问题,...原创 2019-01-15 13:17:59 · 209 阅读 · 0 评论 -
Java虚拟机之----类加载机制
一、前言 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 二、类加载机制 在Java语言里面,类的加载、连接和初始化过程是在程序运行期间第一次使用时完成的(运行期动态加载和动态连接) 1、类加载时机 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括: 加载(Loadin...原创 2019-01-30 11:12:12 · 201 阅读 · 0 评论 -
Java虚拟机之----类加载器&双亲委派模型
一、前言 紧接着上篇文章,类加载阶段中有一个动作是“通过一个类的全限定名来获取描述此类的二进制字节流”,这个动作是放到Java虚拟机外部去实现的,实现这个动作的代码模块被称为“类加载器”。 二、类与类加载器 类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限于类 加载阶段。对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加...原创 2019-02-28 16:41:17 · 208 阅读 · 0 评论