JVM内存的结构


JVM的组成有一下五部分:

  • 程序计数器
  • 虚拟机栈
  • 本地方法栈
  • 方法区

程序计数器(寄存器) 私有

作用:记住下一条JVM指令的执行地址
特点:

  • 是线程私有的
  • 不存在内存溢出

虚拟机栈 私有

定义:

  • 每个线程运行时所需要的内存,成为虚拟机栈
  • 每个栈由多个栈帧组成,对应着每次方法调用时所占用的内存
  • 每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法

本地方法栈 私有

Nativemethodstack(本地方法栈):保存native方法进入区域的地址。

堆 共有

Heap堆:通过new关键字,创建对象都会使用堆内存
特点:

  • 它是线程共享的,堆中对象都需要考虑线程安全的问题
  • 有垃圾回收机制

方法区

方法区在1.6是永久代实现的,1.8是元空间实现的。Metaspace(元空间)是Class、ClassLoader,常量池组成的。就是保存类的一些信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值