堆、栈、常量池

一:

1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.
2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)
3. 堆:存放所有new出来的对象。
4. 静态域:存放静态成员(static定义的)
5. 常量池:存放字符串常量和基本类型常量(public static final)。
6. 非RAM存储:硬盘等永久存储空间

二:

 方法体中传递参数或对象到调用方法内,在调用方法内对对象的操作,同样会影响方法体内对象的内的属性,因为它们本质上都是操作同一个对象,改变同一块空间内的属性

原文地址:https://www.cnblogs.com/jianyi12/p/5704662.html