码迷,mamicode.com
首页 > 其他好文 > 详细

JVM 内存管理

时间:2014-11-27 18:12:07      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:sp   java   数据   bs   管理   nbsp   程序   oracle   方法   

最近闲着没事又拿起《深入理解JAVA虚拟机》拜读了一遍。对JVM的理解更深了,今天先总结一下JVM内存的结构。

JVM 内存分为几个区域:

  1. 程序计数器
  2. 虚拟机栈
  3. 本地方法栈
  4. 方法区

其中程序计数器,虚拟机栈,本地方法栈是线程私有的。 方法区和堆是线程共享的。

程序计数器

程序计数器是一小块内存空间,存储着当前线程所执行的字节码的行号。

虚拟机栈

JAVA的方法都在虚拟机栈上执行,每个线程都会有一个独立的虚拟机栈。每个方法执行的时候都会创建一个栈桢,栈桢存储着局部变量表,操作数栈,动态链接以及方法出口信息。局部变量表储存着8种基础类型的数据和对象引用。

本地方法栈

本地方法栈用来执行本地方法。需要注意的是oracle的JVM本地方法栈和虚拟机栈是同一个。

方法区

方法区用来储存类信息,常量和静态变量等信息。通常所称的永久代就是指方法区。

堆中存储着对象的实例。堆的结构比较复杂但是非常重要,垃圾回收主要是发生在堆上。

 

JVM 内存管理

标签:sp   java   数据   bs   管理   nbsp   程序   oracle   方法   

原文地址:http://www.cnblogs.com/longzhaoyu/p/4126667.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!