首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

内存储器使用

2012-12-20 
内存使用局部变量占用栈内存,对象(类)是NEW出来的,位于堆内存,类成员变量也位于堆内存栈内存中局部引用变

内存使用
   局部变量占用栈内存,对象(类)是NEW出来的,位于堆内存,类成员变量也位于堆内存

    栈内存中局部引用变量(指针变量)将指向堆内存的对象,普通局部变量只在栈内存

    方法执行结束后,该方法栈内存的局部变量将全部消失,而堆内存的对象将被垃圾收集器收拾掉(test.java)(static变量和常量存放在数据区,属于整个类,可以用于计数,可以用类名直接访问静态变量和方法)

Test test = new Test();        int date = 9;       //date在栈内存        BirthDate d1= new BirthDate(7,7,1970);   //d1在栈内存        BirthDate d2= new BirthDate(1,1,2000);    //指向了堆内存的对象        test.change1(date); //将基础变量date的值传给i,        test.change2(d1);//形参(局部变量)b与引用变量d1指向同一堆内存          test.change3(d2);          public void change1(int i){    i = 1234;                //date不变    }          public void change2(BirthDate b) {        b = new BirthDate(22,2,2004);     //d1不变    }        public void change3(BirthDate b) {    b.setDay(22);           //d2的成员变量day改变了    }

      定义成员变量可以初始化,否则编译器将赋予默认值;局部变量没有默认值

热点排行