Java内存模型

递归为什么会一发 java.lang.StackOverflowError– 递归过深,栈帧数超出虚拟栈深度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
元空间 metaspace 和 永久代 permgen

metaspacepermgen
内存使用本地内存使用jvm的内存

metaspace 优势
在这里插入图片描述
Java堆

  • 对象实例的分配区域
  • GC管理的主要区域

JVM三大性能调优参数

  • -Xms 堆的初始值
  • -Xmx 堆能达到的最大值
  • -Xss 规定了每个线程虚拟机栈(堆栈)的大小

Java内存模型中堆和栈的区别-内存分配策略

  • 静态存储:编译时确定每个数据目标在运行时的存储空间需求
  • 栈式存储:数据区需求在编译时未知,运行时模块入口前确定
  • 堆式存储:编译时或运行时模块入口都无法确定,动态分配

在这里插入图片描述

管理方式GC自动释放
空间大小
碎片相关远小于堆
分配方式动态分配静态和动态分配
效率

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值