JVM-堆
Posted 四猿外
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM-堆相关的知识,希望对你有一定的参考价值。
Java 中的堆是用来存储对象本身的以及数组(当然,数组引用是存放在Java 栈中的),堆是被所有线程共享的,在JVM 中只有一个堆。所有对象实例以及数组都要在堆上分配内存,单随着JIT 发展,栈上分配,标量替换优化技术,在堆上分配变得不那么到绝对,只能在server 模式下才能启用逃逸分析。
栈上分配:
一是逃逸分析:逃逸分析的目的是判断对象的作用域是否有可能逃逸出函数体。
二是标量替换:允许将对象打散分配在栈上,比如若一个对象拥有两个字段,会将这两个字段视作局部变量进行分配。
垃圾收集器管理的主要区域,很多时候被称作GC 堆。现在收集器基本采用分代收集算法:
新生代和老年代,再细致点Eden 空间,From Survivor 空间,ToSurvivor 空间等。
以上是关于JVM-堆的主要内容,如果未能解决你的问题,请参考以下文章