posts - 14,  comments - 7,  trackbacks - 0
          java采用堆栈形式对数据进行存取,这样做的优点是存取速度较快,因为栈的速度比较快,仅次于寄存器的速度,堆栈的模式符合垃圾回收的机制,有利于垃圾的回收,垃圾收集器(GC)自动回收。
          现在用一个小实例来感受一下java的堆栈存取,代码如下:
public class Person {
    String  name;
    
int  age;
    
public static void main(String[] args) {
        Person p1 
= new Person();
        Person p2 
= null;
        
        p2 
= p1;
        p1.name 
= "张三";
        p1.age  
= 23;
        p2.name 
= "李四";
        p2.age 
= 24;
        
        p1.say();
        p2.say();
        
    }

    
void say(){
        System.out.println(
"我的名字是:"+ name +"年龄 :"+age);
    }
运行结果如下:我的名字是:李四年龄 :24
                            我的名字是:李四年龄 :24

可用画图来表示其堆栈的存取:其中李四把张三给覆盖啦。

修改代码如下:
public class Person {
    String  name;
    
int  age;
    
public static void main(String[] args) {
        Person p1 
= new Person();
        Person p2 
= new Person();
        
        p2 
= p1;
        p1.name 
= "张三";
        p1.age  
= 23;
        p2.name 
= "李四";
        p2.age 
= 24;
        
        p1.say();
        p2.say();
        
    }

    
void say(){
        System.out.println(
"我的名字是:"+ name +"年龄 :"+age);
    }


}
运行结果也是:我的名字是:李四年龄 :24
                            我的名字是:李四年龄 :24
其堆栈存取用画图表示如下:其中李四把张三给覆盖啦

p2先断开自己原先的堆指向,再指向p1的指向,原先的堆空间被释放。

posted on 2010-10-13 08:33 迷人笑笑 阅读(982) 评论(3)  编辑  收藏

FeedBack:
# re: java堆栈存取实例小讲解
2010-10-18 11:30 | 闫佳
你的图画的不错呀,哈哈,,,,  回复  更多评论
  
# re: java堆栈存取实例小讲解
2010-10-18 11:33 | 闫佳
对了,你那个代码怎么弄的,还可以收起来,,,  回复  更多评论
  
# re: java堆栈存取实例小讲解
2010-10-18 12:43 | 迷人笑笑
@闫佳
上面有插入代码--呵呵---  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(13)

随笔档案

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜