首页 > 编程语言 > 详细

Java中内存分析

时间:2016-08-11 15:37:24      阅读:151      评论:0      收藏:0      [点我收藏+]

//内存分为堆内存和栈内存,Test test=new Test()在内存中显示,前部分在栈内存中分配一个地址new Test()在堆内存分配分配相当于地址房间编号

技术分享

package study1;


public class test {
    
    public static void main(String args[]){
        test test1=new test();
        int date=9;
        Birthday B1=new Birthday(7,7,1970);
        Birthday B2=new Birthday(7,7,1990);
        test1.change1(date);
        test1.change2(B1);
        test1.change3(B2);
        System.out.println("date:"+date);
        B1.display();
        B2.display();
    }
    public void change1(int i){
        i=1234;//在这里不会修改date值,date值copy给i
    }
    //方法一旦执行后,分配对象内存会消失
    public void change2(Birthday b){
        //b 与B1相同地址
        b=new Birthday(1,1,2010);//b 指向新的对象不会是原来B1的地址,分配一个新的地址,同样不会修改B1
        //无法修改B1中值
    }
    public void change3(Birthday b){
        b.setDay(22);
    }
}

class Birthday(){
private int day;
private int month;
private int year;

public void setDay(int day) {
    this.day = day;
}

public void setMonth(int month) {
    this.month = month;
}

public void setYear(int year) {
    this.year = year;
}



public Birthday(int d,int m,int y){
    day=d;month=m;year=y;
}

public int getDay() {
    return day;
}

public int getMonth() {
    return month;
}

public int getYear() {
    return year;
}

public void display(){
    System.out.println(day + "——" + month +"——"+year+"——");
}

}

技术分享

 

Java中内存分析

原文:http://www.cnblogs.com/woainifanfan/p/5747633.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!