jvm内存区域

jvm内存区域

首先给大家介绍一下jvm
JVM就是一个可运行java代码的假想计算机,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收、堆和一个存储方法域。它时运行在操作系统之上的。

首先,
jvm内存分为三部分,分别时线程私有、线程共享、直接内存,现在给大家分别介绍一下

线程私有:

	它分为程序计数器(pc)、虚拟机栈(VM Stack)、本地方法栈。
  程序计数器是指向虚拟机字节码指令的位置,唯一一个无oom的区域。
  虚拟机栈和线程的生命周期相同,每调用一个方法就会创建一个栈帧。
  栈帧主要存储{局部变量表、操作数栈、动态链接、方法出口},
  在这出现的异常有两种一种是线程请求得分栈深度大于jvm所允许的深度
  ,另一种是若 jvm允许动态扩展,但无法申请到足够的内存(俗称OOM)

线程共享:

线程共享主要分为两部分,方法区和java堆

方法区主要是用于呗被存储被JVM加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。运行时常量池是方法区的一部分。

java堆:创建的对象和数组都保存在java堆内存中,也是垃圾收集器进行垃圾收集的最重要的内存区域。从GC的角度还可以分为新生代(eden,from survivor,to Survivor)和老年代。 感兴趣的可以自己了解一下

直接内存
不受JVM GC 管理

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序不老丶我不老

你的鼓励是马歪创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值