jvm堆概述

c64a21a32e9d41168136a658245bea5f.jpg

 

《java虚拟机规范》中对java堆的描述是:所有的对象实例以及数组都应当在运行时分配在堆上。

一个JVM实例只存在一个堆内存(就是new 出来一个对象),java内存管理的核心区域

java堆区在jvm启动的时候就被创建,空间大小确定。是jvm管理的最大一块内存空间

《java虚拟机规范》规定,堆可以处于物理上不连续的内存空间,但是在逻辑上应该被视为连续的

所有的线程共享java堆,在这里还可以划分线程私有的缓冲区(Thread Local Allocation Buffer, TLAB)

数组和对象可能永远不会存储在栈上,栈帧中保存引用,这个引用指向对象或者数组在堆中的位置。

垃圾回收的重点区域

方法结束后,堆中的对象不会马上移除

内存细分

 

java 7以及之前堆内存逻辑上分为:新生区+养老区+永久区

 

java 8以及之后堆内存逻辑上分为:新生区+养老区+元空间

 

堆空间大小设置:

 

“-Xms”:【-X是jvm运行参数,ms是memory start】表示堆区(年轻代+老年代)的起始内存,等价于-XX:InitialHeapSize

 

"-Xmx"表示堆区(年轻代+老年代)的最大内存,等价于-XX:MaxHeapSize

 

堆区内存超过指定的最大内存,报OOM

 

通常将-Xms和-Xmx设置相同的参数。目的是为了在java进行垃圾清理堆后,不需要重新分隔计算堆区的大小,提高性能。

 

-XX:NewRation:设置新生代与老年代的比例。默认值2

 

-XX:SurvivorRatio:设置新生代中Eden区与survivor区的比例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/525760.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R统计学2 - 数据分析入门问题21-40

往期R统计学文章: R统计学1 - 基础操作入门问题1-20 21. 如何对矩阵按行 (列) 作计算? 使用函数 apply() vec 1:20 # 转换为矩阵 mat matrix (vec , ncol4) # [,1] [,2] [,3] [,4] # [1,] 1 6 11 16 # [2,] 2 7 12 17 # [3,] …

linux救援模式恢复

只需要在这里的shell键入一条命令: xfs_repair -v -L /dev/dm-0 命令为修复磁盘命令 执行完成后即可重启,恢复正常。 如果输入xfs_repair -v -L /dev/dm-0 ,报 no such file or directionary 的错误,是没有这个设备。 输入jou…

Python使用MySQL数据库从入门到精通

一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可。 Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql…

leetcode 1143. 最长公共子序列【动态规划】

leetcode 1143. 最长公共子序列 int longestCommonSubsequence(char* text1, char* text2) {int len1 strlen(text1);int len2 strlen(text2);int dp[len1 1][len2 1];memset(dp, 0, sizeof(dp));for (int i 1; i < len1; i) {for (int j 1; j < len2; j) {if (t…

Visual Studio 2022缺少项目模板的一种解决办法

检查设置 发现vs2022项目模板缺少&#xff0c;先打开vs2022&#xff0c;看看位置是否正确 缺少项目模板时处理 我在升级到&#xff1a;17.9.2时&#xff0c;在新建项目时&#xff0c;发现C#缺少“Windows窗体应用&#xff08;.Net Framework)”&#xff0c;我装了个vs201…

lvs集群介绍

目录 一、LVS集群基本介绍 1、什么是集群 2、集群的类型 2.1 负载均衡群集&#xff08;Load Balance Cluster) 2.2 高可用群集(High Availiablity Cluster) 2.3 高性能运算群集(High Performance Computing Cluster) 3、负载均衡集群的结构 ​编辑 4、LVS集群类型中的…

软件测试工程师的一天工作内容是什么?

相信但凡提出这个问题&#xff0c;基本上都是准备入行或转行&#xff0c;又各种纠结的小伙伴。测试工程师到底都些干啥&#xff1f;加班多不多?薪资高不高?前景怎么样?有没有35岁焦虑问题&#xff1f;让我们挨个问题盘一下。 一、测试人员的日常 9&#xff1a;30 到公司 打…

【Python+Selenium学习系列5】Selenium特殊元素定位之-鼠标悬停操作

前言 Selenium模拟用户在浏览器中的操作&#xff0c;比如点击按钮。在某些场景下&#xff0c;我们需要模拟鼠标悬停的操作&#xff0c;来触发一些隐藏的元素。本文将介绍Python Selenium实现鼠标悬停操作。 鼠标悬停&#xff0c;即当光标与其名称表示的元素重叠时触发的事件&…

bat文件给多个Android设备安装apk

本文是安装一个apk 1、确保以下3个文件在同一个目录下 1>要安装的apk&#xff0c;这里是mmb.apk 2>设备名单&#xff0c;保存在.txt文件中&#xff0c;一行一个设备名&#xff0c;设备名通过adb devices获取&#xff0c;截图中是两个设备 txt文件中的样式 3>要运行…

视频监控平台EasyCVR+4G/5G应急布控球远程视频监控方案

随着科技的不断发展&#xff0c;应急布控球远程视频监控方案在公共安全、交通管理、城市管理等领域的应用越来越广泛。这种方案通过在现场部署应急布控球&#xff0c;实现对特定区域的实时监控&#xff0c;有助于及时发现问题、快速响应&#xff0c;提高管理效率。 智慧安防视…

连锁门店终端如何高效IT运维?向日葵助力服装行业数字化升级

服装行业作为典型的传统行业&#xff0c;因供应逐渐饱和、产能相对过剩以及消费结构升级&#xff0c;其销售端的数字化转型需求是最为迫切的。 为此&#xff0c;某知名时装品牌紧抓数字化转型机遇&#xff0c;在2016年起就开始了数字化变革&#xff0c;并在两年多的时间里完成…

血泪教训双非计算机考研避坑指南

记住&#xff0c;考研不是要考多少分&#xff0c;而是要上岸&#xff0c;上岸&#xff0c;上岸&#xff01;&#xff01;&#x1f621; 一、坏、渣、难、险&#xff0c;一律打咩 坏: 歧视本科院校‼️ 这个就不用多说了&#xff0c;你明明付出了大于等于别人的努力&#xff0c;…