jvm
jvm
Dear_mango
q362698373
展开
-
JVM内存模型-五大区浅解
JVM五大区 一、程序计数器程序计数器( Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执的字节码指令,分支...原创 2018-06-16 10:22:01 · 1259 阅读 · 0 评论 -
JVM-GC算法
程序计数器、虚拟机栈、本地方法栈3个区域随线程而生随线程而灭,内存分配和回收都具有确定性,因此不需要过多考虑回收的问题。java堆和方法区则不一样,内存的分配和回收是动态的,垃圾收集器所关注的也是这部分内存。判断对象已经死去的算法一、引用计数算法: 给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。但...原创 2018-06-16 15:14:42 · 191 阅读 · 0 评论 -
JVM-垃圾收集器
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。java虚拟机规范中对垃圾收集器应该如何实现没有任何规定,因此产生了需要不同的垃圾收集器。一般都是根据自己的应用场景组合出各个年代所使用的收集器。Serial收集器:这是一个单线程收集器,它在进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束。但它依然是虚拟机运行在Client模式下的默认新生代收集器,它简单而高效(与...原创 2018-06-16 16:19:15 · 197 阅读 · 0 评论 -
JVM-内存分配
Java体系中所提倡的自动内存管理最终可以归结为自动化地解决两个问题:给对象分配内存以及回收分配给对象的内存。heap(堆)区:Eden space(伊甸区)、survivor space(幸存者区)、old age(老年代)大多数情况下,对象在新生代Eden(伊甸)区中分配。当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC。新生代GC(Minor GC):指发生在新生代的垃圾...原创 2018-06-16 17:25:16 · 204 阅读 · 0 评论