黑马程序员技术交流社区
标题:
堆内存存对象 那么方法区里面只存方法吗?
[打印本页]
作者:
苏格拉底的弟子
时间:
2012-1-5 17:27
标题:
堆内存存对象 那么方法区里面只存方法吗?
本帖最后由 苏格拉底的弟子 于 2012-1-6 10:29 编辑
堆内存只存对象 那么方法区里面只存方法吗?里面还有哪些东西?
作者:
于海生
时间:
2012-1-5 17:38
Java内存分配与管理是Java的核心技术之一,一般Java在内存分配时会涉及到以下区域:
寄存器:我们在程序中无法控制
栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中
堆:存放用new产生的数据
静态域:存放在对象中用static定义的静态成员
常量池:存放常量
非RAM存储:硬盘等永久存储空间
方法区:所有线程共享,用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码。因为存储加载的class文件,所以常量池(class文件常量池和运行时常量池)也在这里,即常量池是方法区的一部分。
作者:
于海生
时间:
2012-1-5 17:38
Java内存分配与管理是Java的核心技术之一,一般Java在内存分配时会涉及到以下区域:
寄存器:我们在程序中无法控制
栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中
堆:存放用new产生的数据
静态域:存放在对象中用static定义的静态成员
常量池:存放常量
非RAM存储:硬盘等永久存储空间
方法区:所有线程共享,用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码。因为存储加载的class文件,所以常量池(class文件常量池和运行时常量池)也在这里,即常量池是方法区的一部分。
作者:
代臣
时间:
2012-1-5 18:47
方法区(也叫共享区、数据区):
类中的共享数据(被static修饰的数据、方法)、方法(没有被static修饰的方法)都存储在这里。
简单说方法区是所有方法(包括被静态修饰的方法)、被静态修饰的数据的存储区,他们都随着对象存储在方法区。
希望对你有用。
作者:
苏格拉底的弟子
时间:
2012-1-5 21:47
楼上的图好啊
作者:
卢其龙
时间:
2012-1-5 22:47
◆寄存器:我们在程序中无法控制 ------我们控制不了,在视频没有讲过
◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中
◆堆:存放用new产生的数据
◆静态域:存放在对象中用static定义的静态成员
◆常量池:存放常量 -------也给就是视频说的方法区
◆非RAM存储:硬盘等永久存储空间 ---------也给在视频应该也没有接触过
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2