java运行时数据区域

2018-07-19  本文已影响0人  f1zz

java不像c语言一样,需要手动分配和释放内存,java的内存管理都是由jvm自动处理的,那么是不是我们就不需要了解java的内存管理了呢?不,机器处理并不能保证避免内存泄露和溢出的出现,因此学习好内存管理是我们解决内存泄露和溢出等问题的知识基础。第一步先来学习运行时数据区域。
如下图,这是jvm对管理的内存的一个划分,分为方法区、堆、虚拟机栈、本地方法栈和程序计数器这五个区域,每个区域有着自己的用途,他们创建和被销毁的时间也不同。


runtime_area.png

程序计数器(program counter register)

虚拟机栈

本地方法栈

方法区

运行时常量池

直接内存

上一篇 下一篇

猜你喜欢

热点阅读