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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

muziyouyou

初级黑马

  • 黑马币:44

  • 帖子:9

  • 精华:0

       今天再看java毕向东老师的java基础课程的时候,IO操作(对象序列化),老师讲到static的成员变量在方法区里,非静态的普通成员变量在堆当中,当时不明白啥意思,特地的查阅了一下,与大家共享。
          java程序运行时,数据会分区存放,heap、stack、method。
          堆(heap):  Java的堆是一个运行时数据区,类的对象从中分配空间。堆内存用于存放由new创建的对象和数组的引用(内存地址)。       栈(stack):  stack的区域很小,只有1M,特点是存取速度很快,所以在stack中存放的都是快速执行的任务,比如static变量,static方法,基本数据类型的数据,和对象的引用(reference).

          方法区:(method)又叫静态区,存放所有的class和静态变量,方法区存放的是整个程序中唯一的元素,如class和static变量。

          file:///c:/users/lishu_000/appdata/roaming/360se6/User Data/temp/132739_LCK9_4877.jpg


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马