引用 内存 栈内存 堆内存 基本数据类型 引用数据类型(包装类) 拆箱 装箱


一  引用类型

二  内存

内存里面有栈内存 , 和 堆内存

栈内存是十分整齐的,一条一条的,

堆内存是相对比较杂乱的,哪里够放哪里

 

package day02;

public class MyTest {
    public static void main(String[] args) {
        
        Person person = new Person();
        person.name = "张三";
        
        //test7结果是张三
        test7(person);
        //test6结果是李四
        //test6(person);
        
        System.out.print(person.name);
    }
    
    public static void test7(Person p3) {
        //这里的p3是一个新的p3,   改变了原本的p3指向的地址  ,  
        //然后下一行给p3赋值为李四,是给新的p3赋值为李四,不改变原来的p3,
        //故输出结果应该还是张三
        p3 = new Person();
        p3.name = "李四";
    }
    
    public static void test6(Person p3) {
        //这里的p3为原本的p3
        //输出结果为李四
        p3.name = "李四";
    }
}

 三  基本数据类型  引用数据类型(包装类)

byte        Byte

short       Short

char        Character

int           Integer

long        Long

float      Float

double    Double

boolean  Boolean

四  拆箱 装箱

 结果是true,因为先回去缓存里面找,然后缓存里面的大小是-128~127,没超过缓存的大小,两个Integer指向的是同一个内存区域,故返回是true

 结果是false,超过了缓存空间