码上敲享录 > 互联网笔记 > 堆、方法区和常量池的关系

堆、方法区和常量池的关系

上一章章节目录下一章 2018-09-26已有3814人阅读 评论(0)

堆、方法区和常量池的关系?


答:

 jvm内存分类:堆(-Xms、-Xmx)、方法区(也称永久代,XX:PermSize、-XX:MaxPermSize)、虚拟机栈,本地方法栈(执行别的语言的区域)和程序计数器。

 方法区和堆一样,是各个线程共享的内存区域,它用于存储虚拟机加载的:类信息+普通常量+静态常量+编译器编译后的代码等等,虽然JVM规范将方法区描述为堆的一个逻辑部分,但它却还有一个别名叫做Non-Heap(非堆),目的就是要和堆分开。
 对于HotSpot虚拟机,很多开发者习惯将方法区称之为“永久代(Parmanent Gen)”,永久代是方法区的一个实现,jdk1.7的版本中,已经将原本放在永久代的字符串常量池移走。
 常量池是方法区的一部分,Class文件除了有类的版本、字段、方法、接口等描述信息外,还有一项信息就是常量池,这部分内容将在类加载后进入方法区的运行时常量池中存放。

本文链接:http://www.yayihouse.com/yayishuwu/chapter/1616

0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交