JVM学习第一天

程序计数器
当前线程所执行的字节码的行号指示器
每个线程都有自己私有的计数器
native方法,计数器值为空
该内存区域没有规定任何的OutOfMemoryError情况

虚拟机栈
Java方法执行的内存模型,用于存储局部变量标、操作数栈、动态链接、方法出口等信息
虚拟机栈也是线程私有
局部变量表所需的内存控件在编译期完成分配
当线程请求的栈深度大于虚拟机所允许的深度,抛出StackOverflowError
当栈动态扩展时,无法申请到足够的内存,抛出OutOfMemoryError

本地方法栈
与虚拟机栈功能相似
虚拟机栈为Java方法服务而本地方法栈是为Native方法服务
Sun HotSpot虚拟机将本地方法栈和虚拟机栈合二为一,所以也会出现抛出Error的情况


存储对象实例和数组
所有线程共享

方法区
存储已被虚拟机加载的类信息、常量、静态变量、即时编译后的代码等数据
所有线程共享

VM配置

-vmargs 表示后面的是VM参数

-Xms128m 表示JVM初始分配的堆内存

-Xmx512m 表示JVM最大允许分配的堆内存

-XX:PermSize=64M JVM初始化分配的非堆(方法区等)内存

-XX:MaxPermSize=128M JVM最大允许分配的非堆内存

转载于:https://my.oschina.net/taoluoluo/blog/906615

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值