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

© pizhihui 中级黑马   /  2015-6-5 23:29  /  447 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 pizhihui 于 2015-6-5 23:32 编辑

首先,java中将内存分为了5个部分,分别是:栈(stack)、堆(heap)、方法区、本地方法区和寄存器。下面详细解说:
  • 栈(stack)区:这部分存放局部变量,这包括在java方法中定义的变量和方法中的形参。
  • 堆(heap)区:用于存放所有的Java对象,即通过new关键字创建出来的。并且Java中每个对象都是相互独立的,所以每一次用new,都会在堆区开辟一份  空间,在堆区有以下几个特点:

    (1):系统都会为其分配内存地址。(2):所有的元素都会有一个默认的初始化值,具体的是:


                                    byte,short,int,long,--》默认为  0
                                           float,double                  --》默认为  0.0
                                           char                                 --》默认为  ‘\u0000’
                                           boolean                          --》默认为   false
                                           引用数据类型                    --》默认为  null
             (3)使用完毕后都会变为垃圾,等待垃圾回收器对其回收

  3.方法区:其中可以分为常量池和静态区,常量池里存放的是常量,像通过String创建出来的字符串。静态区存放的是被static修饰的变量或者方法
  4.本地方法区:这个是和系统有关的。
  5.寄存器:这个是存放在CPU里的。




3 个回复

正序浏览
学习了。。。以后肯定能用到。。。
回复 使用道具 举报
大家可以看看这个内存,我认为对Java初学者还是很有帮助的
回复 使用道具 举报
我又复习了一遍,,,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马