JVM---内存

来源:互联网 发布:php关闭微信浏览器 编辑:程序博客网 时间:2024/06/08 19:53

OOM( OutOfMemoryError异常),SOF(stackOverflowError
区别

程序计数器
jvm栈
堆内存
方法区(包含常量池)
本地方法栈
作用
较小内存空间,存放当前线程执行字节码的行号指示器栈帧:局部变量(基本类型、引用、方法返回地址)、操作数栈、动态连接、方法出口
内存最大、存放对象实例(分年轻代、老年代)
存储虚拟机加载的信息:类名、访问修饰符、常量池、字段描述、方法描述、静态变量等
与jvm栈类似(jvm栈为虚拟机执行java方法、本地方法栈为虚拟机调用操作系统本地方法)
线程私有私有共享共享HotSpot将jvm栈和本地方法栈合并内存异常
没有规定
1、stackOverflowError异(单线程请求栈深度大于虚拟机所允许的深度)
2、OutOfMemoryError异常(动态扩展时无法申请到足够内存)
OutOfMemoryError异常:堆中没有内存完成实例分配且堆内存无法扩展时



OutOfMemoryError


stackOverflowError
OutOfMemoryError
内存优化

-Xss
(最近128KB、通常512KB)
-Xmx/-Xms
(默认物理内存
1/64、8:1:1)
-XX:PermSize(64KB)
-XX:MaxPermSize(64KB)

1 0