• Java 多线程基础 (一) -----内存分析


    //内存分为堆内存和栈内存,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+"——");
    }
    
    }

    5. 注意在此过程中多态中内存分析

     

    动态绑定:调用方法重写,看实际过程中new出来的对象判断其调用其(new对象)方法

    7.继承中的内存分析

    分析:Aninam obj2=new Dog()输出为什么会先有父类构造方法,在输出子类基本构造方法:原因在下面第一条定理中:输出:输出Animal类调用 输出dog类调用

  • 相关阅读:
    Js中的变量
    flash读取XML 背景自动适应大小
    Ajax.NET Professional
    JS事件大全
    (转)SharePoint社区工具包中文版发布!!
    .iOS APP Project or Mac APP Project编译错误提示: My Mac 64bit is not valid for Running the scheme
    NSAssert断言
    iphone手机appstore地区更改
    自定义UITableView Section 的title样式字体
    从项中复制值
  • 原文地址:https://www.cnblogs.com/woainifanfan/p/5747633.html
Copyright © 2020-2023  润新知