黑马程序员技术交流社区

标题: 内存中的方法区是什么,里面存储了什么东西呢? [打印本页]

作者: 丁旭    时间: 2012-10-13 23:11
标题: 内存中的方法区是什么,里面存储了什么东西呢?
内存中的方法区是什么?存储了什么东西呢?没搞明白,请各位同学详细的介绍一下。
特别是应用的场合。
作者: 徐梦侠    时间: 2012-10-13 23:24
java程序运行时,数据会分区存放,heap(堆)、stack(栈)、method(方法区)。
类的对象放在heap(堆)中,所有的类对象都是通过new方法创建,创建后,在stack(栈)会创建类对象的引用(内存地址)。
stack的区域很小,特点是存取速度很快,所以在stack中存放的都是快速执行的任务,比如基本数据类型的数据,和对象的引用(reference).
method(方法区)又叫静态区,存放所有的class和静态变量,方法区存放的是整个程序中唯一的元素,如class和static变量
作者: 徐升兴    时间: 2012-10-13 23:32
方法区里存放的是类的静态方法和各种其他方法。毕老师第六天的视频里有。
作者: 廖智    时间: 2012-10-13 23:37
本帖最后由 廖智 于 2012-10-13 23:38 编辑
徐升兴 发表于 2012-10-13 23:32
方法区里存放的是类的静态方法和各种其他方法。毕老师第六天的视频里有。 ...
方法区。存储函数,和共享数据。
作者: 廖智    时间: 2012-10-13 23:39
本帖最后由 廖智 于 2012-10-13 23:53 编辑

java的内存划分:
                1、寄存器。cpu涉及的区域。
                2、本地方法区。是和系统相关的代码存储区域。
                3、栈内存。存储的都是局部变量,运算一结束,内存就释放。
                4、堆内存。存储的都是实体。没有引用指向,实体就变成垃圾,被垃圾回收站回收。
                        注意:               
                                1、任何实体都有内存地址值。
                                2、堆内存中的成员都有默认初始化值。
                5、方法区。存储函数,和共享数据也就是静态成员。

    注意:   寄存器和本地方法区做简单了解就行了。我们重点学的是,栈,堆内存和方法区。
作者: 王震阳老师    时间: 2012-10-13 23:54
廖智 发表于 2012-10-13 23:39
java的内存划分:
                1、寄存器。cpu涉及的区域。
                2、本地方法区。是和系统 ...

不错。学习了,。,,,
作者: xuewuzhijing    时间: 2012-10-14 00:18
栈是存放局部变量的内存空间,堆是存放动态分配的变量的内存空间,方法区存放程序代码,全局变量的内存空间。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2