JVM:堆空间概述

ops/2024/11/15 8:35:11/

目录标题

    • 堆的核心概述
    • 内存细分
    • 堆空间大小的设置

堆的核心概述

1.一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域
2.Java堆区在JVM启动的时候即被创建,其空间大小也就确定了,是JVM管理的最大的一块内存空间,堆内存的空间大小是可以调节的
3.《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间,但在逻辑上它应该被视为连续的
4.所有线程共享Java堆,在这里还可以划分线程私有的缓冲区
5.《Java虚拟机规范》中对Java堆的描述:所有的对象实例以及数组都应该在运行时分配在堆上
在方法结束后,堆中的对象不会马上被移除,仅仅在垃圾收集的时候才会被移除
6.堆,是GC执行垃圾回收的重点区域

内存细分

Java7及之前堆内存逻辑上分为三部分:新生区+养老区+永久区
新生区又被划分为Eden区和Survivor区
Java8及之后堆内存逻辑上分为三个部分:新生区+养老区+元空间
约定:新生区=新生代=年轻代
养老区=老年区=老年代
永久区=永久代

堆空间大小的设置

1:Java堆区用于存储Java对象实例,堆的大小在JVM启动的时候就已经设定好了,大家可以通过选项"-Xmx"和"-Xms"来进行设置
"-Xms"用于表示堆区的起始内存,等价于-XX:InitialHeapSize
“-Xmx"表示堆区的最大内存,等价于-XX:MaxHeapSize
其中-X是JVM的运行参数
ms是memory start
2:一旦堆区的内存大小超过”-Xmx"所指定的最大内存时,将抛出OOM
3:通常会将-Xms和-Xmx两个参数配置相同的值其目的是为了能够在Java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小,从而提高性能
4:默认堆空间大小
初始内存大小:物理电脑内存大小/64
最大内存大小:物理电脑内存大小/4


http://www.ppmy.cn/ops/105008.html

相关文章

Selenium分布式测试和操作监听

前言 在使用selenium进行自动化测试时,测试过程中会不断的打开关闭浏览器,测试时需要单独使用一台设备进行测试。还有就是一台设备的执行效果也不是很高,针对这些问题,来介绍一下Selenium Grid的使用方法。本篇文章介绍使用docke…

element el-dialog 滚动条问题

elementUI在打开dialog的时,页面右侧会出现滚动条,或是页面宽度会缩小,当关闭dialog后又恢复原样,控制台检查后发现当打开dialog时,body元素会有classel-popup-parent--hidden的类名,关闭dialog后el-popup-…

【Rust光年纪】探索Rust嵌入式开发利器:从硬件访问到USB绑定

Rust硬件访问库全面比较:选择最适合你的工具 前言 随着物联网和嵌入式系统的普及,对于树莓派等硬件设备的访问需求逐渐增加。在Rust语言领域,为了满足这一需求,出现了一系列针对树莓派和嵌入式设备的硬件访问库。本文将介绍其中…

DAY 2 - 3 : 线性表—顺序存储

线性表—顺序表 问题引入&#xff1a; 线性表 定义 若干数据元素的一个线性序列。 表示 L (D,R) (即线性表L包含数据元素集合D和关系集合R&#xff09; D{ ai | ai∈datatype ,i0,1,2...n-1 ,n≥0} R{ <ai,ai1> | ai,ai1∈D, 0 ≤ i ≤ n - 2} < ai,ai1 >在这里称…

Python中的函数艺术:解锁高效编程的秘密

引言 在软件开发过程中&#xff0c;重复使用相同的代码段是不可避免的。这不仅增加了代码量&#xff0c;还可能导致维护困难。通过定义函数&#xff0c;我们可以将这些重复代码抽象出来&#xff0c;封装成一个可重用的组件。这样做的好处显而易见&#xff1a;减少了代码冗余、…

【HarmonyOS 4.0】访问控制

1. 申请访问控制权限 1.1 声明所需权限 开发者在entry/src/main/module.json5文件中声明所需权限&#xff0c;具体格式如下&#xff1a;权限名称从应用权限列表获取 {"module" : {"requestPermissions":[{"name" : "ohos.permission.INTER…

C++中点关于直线的反射(Reflection of a point about a line in C++)

示例图 让我们首先考虑一个一般情况&#xff0c;其中线只是 X 轴。我们现在可以肯定地说&#xff0c;一个点的共轭是该点关于 X 轴的反射。 现在&#xff0c;使用坐标轴的平移和旋转方法&#xff0c;我们将找出一个点关于一般线的反射。 平移的概念在上一篇文章中已经描述过。…

苹果笔记本电脑能不能玩游戏?苹果电脑玩游戏咋样?

过去Mac玩不了游戏最大的问题&#xff0c;就是图形API自成一体&#xff0c;苹果既不支持微软的DirectX&#xff0c;同时为了推广自家的Metal图形API&#xff0c;又对OpenGL和Vulkan两大主流的通用API敬而远之。游戏生态、硬件瓶颈让苹果电脑不适合玩游戏。 不过说到底&#xf…