JVM 栈堆
创始人
2024-11-14 11:05:12
0

Java虚拟机栈-栈内存溢出

  • Java虚拟机栈如果栈帧过多,占用内存超过栈内存可以分配的最大大小就会出现内存溢出
  • Java虚拟机栈内存溢出时会出现StackOverFlowError的错误

本地方法栈

  • Java虚拟机栈存储了Java方法调用时的栈帧,而本地方法栈存储的是native本地方法的栈帧
  • 在Hotspot虚拟机中,Java虚拟机和本地方法栈实现上使用了同一个栈空间。本地方法栈会在栈内存上生成一个栈帧,临时保存方法的参数同时方便出现异常时把本地方法的栈信息打印出来

  • 一般Java程序中堆内存是空间最大的一块内存区域,创建出来的对象都存在与堆上
  • 栈上的局部变量表中,可以存放堆上对象的引用,静态变量也可以存放堆对象的引用,通过静态变量就可以实现对象在线程之间共享
  • 堆空间有三个需要关注的值,used、total、max
  • used指的是当前已使用的堆内存,total是java虚拟机已经分配的可用堆内存,max是java虚拟机可以分配的最大堆内存
  • 随着堆内存的对象增多,当total可以使用的内存即将不足时,java虚拟机会继续分配内存给total
  • 如果堆内存不足,java虚拟机就会不断的分配内存,total值会变大。total最多只能与max相等
  • 如果不设置任何的虚拟机参数,max默认是系统内存的1/4,total默认是系统的1/64。在实际应用中一般都需要设置total和max的值
  • -Xms设置total -Xmx设置max,Xmx必须大于2MB,Xms必须大于1M

问题:是不是当used=max=total的时候,堆内存就溢出了呢?

  • 不是,堆内存溢出的判断条件比较复杂,跟垃圾回收器有关。

上一篇:JAVA中的隐式参数super

下一篇:RESTful API

相关内容

热门资讯

技术分享(WPK下载)原来是真... 技术分享(WPK下载)原来是真的有挂(透视)确实存在有挂(了解有挂)-哔哩哔哩是一款可以让一直输的玩...
终于知道!阿拉斗牌外挂(辅助挂... 终于知道!阿拉斗牌外挂(辅助挂)从前真的是有挂(有挂秘笈)-哔哩哔哩;1.阿拉斗牌外挂 ai辅助创建...
记者揭秘(WePoKe辅助有挂... 记者揭秘(WePoKe辅助有挂)外挂透明挂辅助挂(德扑ai)有玄学(确实真的是有挂)-哔哩哔哩;1....
黑科技辅助(德扑输赢)外挂透明... 您好,德扑输赢这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游戏...
带你了解(微扑克开发)本来真的... 带你了解(微扑克开发)本来真的有挂(透视)素来是有挂(有挂详细)-哔哩哔哩是一款可以让一直输的玩家,...
避坑细节!中至麻将神器下载安装... 避坑细节!中至麻将神器下载安装(辅助挂)总是存在有挂(有挂规律)-哔哩哔哩,中至麻将神器下载安装是用...
必备教程(WPK透视挂)外挂透... 必备教程(WPK透视挂)外挂透明挂辅助插件(扑克王)we辅助poker德之星(一贯有挂)-哔哩哔哩;...
黑科技辅助(WePoKe挂真的... 黑科技辅助(WePoKe挂真的)外挂透明挂辅助神器(透视)竟然有挂(2026已更新)(哔哩哔哩);是...
终于清楚(德州之星使用)最初是... 终于清楚(德州之星使用)最初是有挂(透视)一直存在有挂(果真有挂)-哔哩哔哩;德州之星使用最新软件透...
终于懂了(WePoKe智能ai... 终于懂了(WePoKe智能ai辅助工具)外挂透明挂辅助神器(wEPoke)正规(总是真的有挂)-哔哩...