A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

内存中的方法区是什么?存储了什么东西呢?没搞明白,请各位同学详细的介绍一下。
特别是应用的场合。

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 赞一个!

查看全部评分

6 个回复

倒序浏览
java程序运行时,数据会分区存放,heap(堆)、stack(栈)、method(方法区)。
类的对象放在heap(堆)中,所有的类对象都是通过new方法创建,创建后,在stack(栈)会创建类对象的引用(内存地址)。
stack的区域很小,特点是存取速度很快,所以在stack中存放的都是快速执行的任务,比如基本数据类型的数据,和对象的引用(reference).
method(方法区)又叫静态区,存放所有的class和静态变量,方法区存放的是整个程序中唯一的元素,如class和static变量
回复 使用道具 举报
方法区里存放的是类的静态方法和各种其他方法。毕老师第六天的视频里有。
回复 使用道具 举报
本帖最后由 廖智 于 2012-10-13 23:38 编辑
徐升兴 发表于 2012-10-13 23:32
方法区里存放的是类的静态方法和各种其他方法。毕老师第六天的视频里有。 ...
方法区。存储函数,和共享数据。
回复 使用道具 举报
本帖最后由 廖智 于 2012-10-13 23:53 编辑

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

    注意:   寄存器和本地方法区做简单了解就行了。我们重点学的是,栈,堆内存和方法区。

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 很给力!

查看全部评分

回复 使用道具 举报
廖智 发表于 2012-10-13 23:39
java的内存划分:
                1、寄存器。cpu涉及的区域。
                2、本地方法区。是和系统 ...

不错。学习了,。,,,
回复 使用道具 举报
栈是存放局部变量的内存空间,堆是存放动态分配的变量的内存空间,方法区存放程序代码,全局变量的内存空间。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马