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

JVM如何管理内存

时间:2017-09-23 20:25:37      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:部分   java程序   存储   blog   变量   引用   java   文件   round   

JVM如何管理内存,分成几个部分?分别有什么用途?说出下面代码的内存实现原理:

  • JVM内存分为“”、“”和“方法区”三个区域,分别用于存储不同的数据。

堆内存用于存储使用new关键字所创建的对象;栈内存用于存储程序运行时在方法中声明的所有的局部变量;方法区用于存放类的信息,Java程序运行时,首先会通过类装载器载入类文件的字节码信息,经过解析后将其装入方法区。类的各种信息(包括方法)都在方法区存储。

1 Foo foo = new Foo();
2 foo.f();

 

以上代码的内存实现原理为:

  1. Foo类首先被装载到JVM的方法区,其中包括类的信息,包括方法和构造等。
  2. 在栈内存中分配引用变量foo
  3. 在堆内存中按照Foo类型信息分配实例变量内存空间;然后,将栈中引用foo指向foo对象堆内存的首地址。
  4. 使用引用foo调用方法,根据foo引用的类型Foo调用f方法。

 

JVM如何管理内存

标签:部分   java程序   存储   blog   变量   引用   java   文件   round   

原文地址:http://www.cnblogs.com/JARVISAI/p/7582042.html

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