jvm
文章平均质量分 89
英俊帅比林
我真好看
展开
-
java内存区域概述
运行时数据区域 java虚拟机在运行时,它所管理的内存区域中有若干个不同的数据区域,这些数据区域有不同的名字:方法区,虚拟机栈,本地方法栈,堆,程序计数器。这些区域有的是在程序启动时就有的,有的则是随着各个用户线程而建立和销毁。下面我们来一一讲解。 1.程序计数器 程序计数器是一块较小的内存空间,它可以看作是一种指向器,指向的是java编译完成后生成的字节码文件中执行的字节码的行号。大体来看,执...原创 2018-11-17 13:37:52 · 210 阅读 · 0 评论 -
jvm垃圾收集机制详解(中)
上一篇传送门:jvm垃圾收集机制详解(一) 三、垃圾收集算法(仅算法思想) 1.标记清除算法 标记清除算法是另外两种垃圾回收算法的基础,之所以说是基础是因为这种算法仅仅是简简单单地把标记了需要清除的对象进行了回收而已,除此之外没有任何其它操作。这种算法有很多不足,例如标记和清除的效率不高,清楚之后明明空闲内存的总和足够,但是就是无法容纳下大对象从而必须提前触发下一次垃圾回收或者干脆就报内存溢出异常...原创 2018-12-07 17:30:13 · 244 阅读 · 0 评论 -
java从源代码到指令序列的重排序
啊大苏打原创 2018-12-13 22:49:37 · 520 阅读 · 0 评论 -
jvm垃圾收集机制详解(上)
在我们学习java之前,经常听到的一个关于java的优点就是,相对于像C语言这种语言,省去了程序员手动回收垃圾的步骤,那么,java虚拟机到底是怎么实现自动垃圾回收机制的呢? 一、如何判断对象需要被回收 什么时候需要回收对象?经常写别的语言的人可能会说,当我们对一个东西使用完成,需要回收这个东西所占用的空间的时候,需要去手动写代码回收,例如在c++种调用对象的析构函数等的操作。对于java来说,回...原创 2018-12-07 00:16:38 · 164 阅读 · 0 评论 -
jvm垃圾收集机制详解(下)
上一篇传送门:jvm垃圾收集机制详解(中) 三、HotSpot虚拟机的垃圾收集实现 根据之前的讲解,java分析对象是否需要被回收是通过对对象的可达性分析来确定的,而可达性分析是通过识别对象是否链接到GC Roots对象决定的。那么很显然,我们需要通过遍历所有的GC Roots节点,然后剩下的没有链接到GC Roots节点的对象就是我们要回收的对象的。那么问题就来了,GC Roots节点那么多,还...原创 2018-12-09 17:42:20 · 193 阅读 · 0 评论 -
jvm内存分配与回收策略
阅读本文前,你需要知道: 对新生代和老年代是什么有初步的了解,了解新生代空间中的存储方式(Eden,Survivor) 对jvm的垃圾回收机制有了解 : 传送门 对垃圾回收的机制和三种方式有了解:垃圾回收方式 知道Minor GC 和 Full GC的基本意思 正文 我们都知道,jvm中的堆空间用来存储对象的实例,而堆空间又被划分为新生代和老年代,当我们创建一个新对象的时候,优先将此对象在Ed...原创 2018-12-27 17:52:48 · 185 阅读 · 0 评论