jvm虚拟机中的堆
一、JVM体系结构
我们接下来说的JVM中运行时数据区中的堆区(Heap Area)。
二、Java堆简介
对于Java应用程序来说,Java堆(Java Heap)是虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块区域,在虚拟机启动时创建。此内存区域的唯一的目的就是存放对象实例,Java世界里“几乎”所有的对象实例都在这里分配内存。在《Java虚拟机规范》中对Java堆的描述是:“所有的对象实例以及数组都应当在堆上分配”。
2.1 堆的特点
- 一个JVM实例只存在一个堆内存,
堆也是Java内存管理的核心区域
。 - Java堆区在JVM启动的时候被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。但是
堆内存的大小是可以调节的
。 《Java虚拟机规范》
规定,堆可以处于**物理上不连续**
的内存空间中,但是**逻辑上**
它应该是被视为