第二章 JAVA内存结构(2)

2/22/2017来源:ASP.NET技巧人气:462

java

JAVA堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例以及数组都要在堆上分配。

由于现在收集器基本都是采用分代收集算法,所以JAVA堆还可以细分为:新生代和老年代。新生代又可以再细分为Eden空间、From Survivor空间、To Survivor空间。

方法区

方法区(又称永久代)用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

运行时常量池

方法区的一部分,Class文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息就是常量池,用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后存放到方法区的运行时常量池中。