千家信息网

JVM内存的组成及分配

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要介绍"JVM内存的组成及分配",在日常操作中,相信很多人在JVM内存的组成及分配问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"JVM内存的组成及分配"的疑惑
千家信息网最后更新 2025年02月04日JVM内存的组成及分配

这篇文章主要介绍"JVM内存的组成及分配",在日常操作中,相信很多人在JVM内存的组成及分配问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"JVM内存的组成及分配"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

java内存组成介绍:堆(Heap)和非堆(Non-heap)内存

按照官方的说法:"Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。""在JVM中堆之外的内存称为非堆内存(Non-heap memory)"。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给 自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法 的代码都在非堆内存中。

组成图

◆ 方法栈&本地方法栈:

线程创建时产生,方法执行时生成栈帧

◆ 方法区

存储类的元数据信息 常量等

◆ 堆

java代码中所有的new操作

◆ native Memory(C heap)

Direct Bytebuffer JNI Compile GC;

堆内存分配

JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM***分配的内存由-Xmx指 定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的***限制;空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。对象的堆内存由称为垃圾回收器的自动内存管理系统回收。

组 成详 解
Young Generation即图中的Eden + From Space + To Space

Eden

存放新生的对象

Survivor Space

有两个,存放每次垃圾回收后存活的对象
Old GenerationTenured Generation 即图中的Old Space
主要存放应用程序中生命周期长的存活对象

非堆内存分配

JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置***非堆内存的大小,默认是物理内存的1/4。

组 成详 解
Permanent Generation保存虚拟机自己的静态(refective)数据
主要存放加载的Class类级别静态对象如class本身,method,field等等
permanent generation空间不足会引发full GC(详见HotSpot VM GC种类)
Code Cache用于编译和保存本地代码(native code)的内存
JVM内部处理或优化

JVM内存限制(***值)

JVM内存的***值跟操作系统有很大的关系。简单的说就32位处理器虽然 可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统 下为2G-3G),而64bit以上的处理器就不会有限制了。

到此,关于"JVM内存的组成及分配"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

内存 分配 方法 限制 代码 对象 系统 数据 物理 处理 学习 操作系统 垃圾 处理器 大小 就是 更多 空间 静态 图中 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖南智慧养老软件开发专业制作 如何设置服务器发布网页 软件开发项目组人员架构 陕西服务器维修系统云主机 零售的数据库设计 交通安全食品安全网络安全 互联网新科技ppt 工会网络安全和信息化 啄木鸟网络安全工作室 淘宝上的云服务器咋那么便宜 购物车存在到数据库吗 排排坐互联网科技有限公司 易康网络技术学业水平考试 专业软件开发服务 江苏青少年网络安全知识竞赛题 运用内存数据库进行数据分析实例 海康存储服务器价格 护苗网络安全美篇 联盟连接不上服务器 数据库创建规则 网络服务器接入别人的电脑 初中生安全教育网络安全 600服务器机柜厂家 雁荡山住宿软件开发 初中生学软件开发得多长时间 中国网络安全企业一百强 软件开发工程师英文简历 服务器安全隐患排查记录 调试网络安全监测装置安全措施 微信小程序要服务器空间运行吗
0