
Java虚拟机
PAcee1
这个作者很懒,什么都没留下…
展开
-
深入理解JVM——(二)搞定JVM垃圾回收就是这么简单
一、前言:JVM区域 在学习GC之前,先搞懂JVM区域。JVM分为两大区域,deap区和非deap区,即堆与非堆。 deap区: Eden Space(伊甸园) Survivor Space(幸存者区) Old Gen(老年代) 非deap区: Code Cache(代码缓存区) Perm Gen(永久代) Jvm Stack(java虚拟机栈) Local Method Statck(本地...原创 2019-01-17 17:06:46 · 601 阅读 · 0 评论 -
深入理解JVM——(三)为什么JVM新生代需要两个Survivor区
经过了JVM区域的学习,我们知道在堆中新生代具有一个Eden区和两个Survivor区,这里就有疑问了,为什么需要Survivor区和为什么需要两个Survivor区?带着疑问我们思考一下。 一、为什么需要Survivor区? 带着这个问题,我们假设一下,如果没有Survivor区,新生代只有Eden区。 当Eden区装满后,Minor GC进行垃圾回收,幸存的对象会直接放入老年代,可以想到,...原创 2019-01-18 15:12:26 · 2034 阅读 · 2 评论 -
深入理解JVM——(一)JVM的内存区域划分
说到Java内存区域,可能很多人第一反应是“堆栈”。首先堆栈不是一个概念,而是两个概念,堆和栈是两块不同的内存区域,简单理解的话,堆是用来存放对象而栈是用来执行程序的。其次,堆内存和栈内存的这种划分方式比较粗糙,这种划分方式只能说明大多数程序员最关注的、与对象内存分配关系最密切的内存区域是这两块,Java内存区域的划分实际上远比这复杂。对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,...原创 2019-01-16 15:26:23 · 311 阅读 · 0 评论