jvm

java virtual machine stacks
中存放的为 私有栈帧 里面的内容有 局部变量表,操作栈,动态链接,方法出口等信息。
局部变量表存放了编译器可以预知的各种基本数据类型(boolean,byte,char,short,int,float,long,double),
对象引用(reference类型,指向对象起始地址的指针,或者是指向一个代表对象的句柄或者其他与此对象相关的位置)
returnAddress类型(指向一条字节码指令的地址。)
如果线程请求的栈深度大于虚拟机栈的深度,抛出StackOverFlowError异常
如果虚拟机可以动态扩展,当扩展时无法申请到足够的内存是会抛出OutOfMemoryError异常


java heap


所有的对象实例以及数组都要分配到heap


java -Xmx20M (设置堆的大小 Xms为最小值参数, Xmx为最大值参数 两者设置一样可以防止自动扩展)
通过参数-XX:+HeapDumpOnOutOfMemoryError 可以让虚拟机在出现内存溢出时Dump出当前的内存堆转储快照以便事后分析


虚拟机栈设置参数


-Xoss (设置本地方法栈大小,hotspot此参数无效)
-Xss (设置栈容量)


两种异常
1.StackOverflowError
2.OutOfMemoryError


运行时常量池溢出


-XX:PermSize -XX:MaxPermSize (限制方法区)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值