码迷,mamicode.com
首页 > 编程语言 > 详细

Java中内存分析

时间:2016-08-11 15:40:37      阅读:198      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!