Java虚拟机——JVM分区

Java虚拟机——JVM分区


目录

前言

Java开发人员与C,C++开发人员的区别之一是把内存控制的权力交给了Java虚拟机。毫无疑问,这种模式很大程度上简化了Java开发中的内存管理环节。不过,也造成了在发生内存泄漏和溢出问题时,Java开发人员在不了解Java虚拟机运作的情况下很难去排查错误。因此,了解Java虚拟机的原理就显得尤为重要。
本篇博文是对JVM的初步理解下介绍JVM的分区情况。
由于更多的是理论学习,所以可能存在一些谬误,欢迎指正交流。


JVM分区

通常,在JDK1.7之前,Java虚拟机在执行Java程序的过程中包括5个区域,这五个区域分别是虚拟机栈、本地方法栈、程序计数器、方法区和堆。
其中,按线程公有或私有可以分为两类。
线程公有的包括方法区和堆,
线程私有的则是虚拟机栈,本地方法栈和程序计数器。
下面分别讲述一下我对他们的理解。
书上的分区图

《深入理解Java虚拟机》中Java虚拟机运行时数据区配图


1.堆

JVM中的堆这个分区是JVM存放Java对象实例和数组的地方(对象引用呢?它被放置在栈中的局部变量表中了),
堆还会被细分为新生代和老年代&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值