【JVM】jvm虚拟机中的堆

15 篇文章 7 订阅 ¥9.90 ¥99.00
本文详细介绍了JVM中的堆内存,包括堆的特点、分代思想、默认大小以及常用的JVM参数。堆被划分为年轻代、老年代和永久代,主要存放对象实例。文章探讨了不同代之间的GC算法,如标记-清除、复制和标记-整理,以优化内存回收效率。堆内存溢出的原因和常见错误也进行了讨论,提供了内存调优的示例配置。
摘要由CSDN通过智能技术生成

一、JVM体系结构

在这里插入图片描述我们接下来说的JVM中运行时数据区中的堆区(Heap Area)。

二、Java堆简介

对于Java应用程序来说,Java堆(Java Heap)是虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块区域,在虚拟机启动时创建。此内存区域的唯一的目的就是存放对象实例,Java世界里“几乎”所有的对象实例都在这里分配内存。在《Java虚拟机规范》中对Java堆的描述是:“所有的对象实例以及数组都应当在堆上分配”。

2.1 堆的特点

  1. 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域
  2. Java堆区在JVM启动的时候被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。但是堆内存的大小是可以调节的
  3. 《Java虚拟机规范》规定,堆可以处于 **物理上不连续** 的内存空间中,但是 **逻辑上** 它应该是被视为
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

No8g攻城狮

向每一个努力改变现状的你致敬!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值