jvm内存模型

本文介绍了JVM内存模型的各个区域,包括堆、方法区、程序计数器、栈和本地方法栈,以及它们各自的作用和管理策略。讨论了线程独占和共享的内存部分,特别强调了堆内存的分代管理以及JDK 1.8中元空间对方法区的实现,分析了元空间提高GC性能的优势。此外,还概述了各种OutOfMemoryError异常的原因。
摘要由CSDN通过智能技术生成

jvm内存模型
jvm作用:JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略

平时我们遇到的线上异常有OutOfMemoryError,但是到底是哪块内存溢出,这就需要我们对jvm内存进行深入了解,以便于快速的解决生产故障。

线程独占:程序计数器 本地方法栈 栈
线程共享:堆 方法区

通过一张图来了解如何通过参数来控制各区域的内存大小
在这里插入图片描述
在这里插入图片描述

图片来自网络
控制参数
-Xms设置堆的最小空间大小。
-Xmx设置堆的最大空间大小。
-XX:NewSize设置新生代最小空间大小。
-XX:MaxNewSize设置新生代最大空间大小。
-XX:PermSize设置永久代最小空间大小。
-XX:MaxPermSize设置永久代最大空间大小。
-Xss设置每个线程的堆栈大小。

没有直接设置老年代的参数,但是可以设置堆空间大小和新生代空间大小两个参数来间接控制。

老年代空间大小&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晴天M雨天

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值