JVM相关知识---java内存区域

Java虚拟机(jvm)在运行java程序的过程中会把它所管理的内存分为好几个区域,每个区域都会有每个区域各自的职责与功能。其中主要的区域包括:虚拟机栈本地方法栈方法区程序计数器

 

 1、:堆是jvm管理的最大一块内存,jvm会在对上面为对象和数组分配内存。堆又可以分为新生代与老年代,新生代又可以分为Eden空间、Survivor空间,这些我将在以后的文章中介绍。Java堆也是垃圾管理的主要区域,这个很好理解,因为占用空间最大,所以清理之后释放的空间也就多了。堆又可以被称为“GC堆”。

 2、虚拟机栈:虚拟机栈是线程私有的,它随线程创建而创建,随线程消亡而消亡。主要描述的是方法的内存模型,方法执行师会创建一个栈帧,帧内存放局部变量表、操作数栈、动态链接、方法出入口等信息。局部变量表存放着编译器可知的基本数据类型、对象引用。

 3、本地方法栈:与虚拟机栈的作用类似,只不过存放的是Native方法的有关信息。

 4、方法区:存放已经被虚拟机加载后的类信息、常量、静态变量等等。此区域内包含常量池,顾名思义,就是存放编译期生成的各种字面量和符号引用。

 5、程序计数器:也是线程私有的,它控制着处理器应该处理哪条指令。任何处理器某一时刻都只能处理一条指令,具体是哪条就需要程序计数器为处理器选择。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值