java内存
1.栈---存储的是变量(不仅仅只有变量),方法也是在栈中 ,java中一切计算在栈中,不会对存储的内容进行赋值,存储的内容使用完成之后会立即进行清除
2.堆---存储的是对象。会对存储的内容进行赋值系统默认初始值,存储内容使用完成之后会在某个时间进行清除,垃圾清理机制GC来清理。
3.方法区(面向对象,先存放类,静态区,静态常量区) 存放类和类属性的模板。
4.本地方法栈:专门开辟的区域,用来与其他语言的交互
5.寄存器(PC计数器,硬件的,跟CPU交互的)
public class HellowWorld {
//判断一个32位的整数的二进制有几个1
public static void main(String[] argv ) {
int[]arr=new int[2];
System.out.println(arr[1]);
int[] arr2= {1,2,3};
arr2[1]=5;
System.out.println(arr2[1]);
}//endmain
}//endclass
这行代码的内存图