logo头像

生而无畏,战至终章

JVM之内存分配与回收策略

对象的内存分配,简单点来说就是往堆上分配,对象主要分配在新生代的Eden区上,少数情况下也可能直接分配在老年代中,分配的规则并不是百分之百的固定,其细节取决于当前使用的是哪一种垃圾收集器组合,还有虚拟机中与内存相关的参数设置 对象优先...

JVM之垃圾收集器

通常虚拟机中往往不止一种GC收集器,该篇就来看看HotSpot虚拟机中有哪些GC收集器,如下图所示: 上图展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,这说明它们之间可以搭配使用。虚拟机所处的区域则代表它是属于新生代...

JVM之对象

之前已经大概介绍过了虚拟机内存的情况,这篇文章来看看在虚拟机里面对象时如何创建的 对象的创建在Java语言中,一般我们创建一个都是用new关键字,那么虚拟机遇到new关键字是如何处理的了 首先虚拟机回去检查这个指令的参数是否能在常量池...

JVM之Java内存区域

Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域。每个区域都有各自的用途,以及创建和销毁的时间,根据Java虚拟机规范,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如下图所示: 程序计...

JVM之对象收集器

垃圾收集器在回收java对象时,是如何判断该对象需要回收的了,即怎么样判断那些对象实例已经“死去”(即不可能在被使用的对象),那些对象还是“存活”着?带这这个疑问,今天一起来看看Java的垃圾收集器是如何来进行回收的,接下来就是今天要...