java基础(十三)内存

运行程序是在内存中运行,这块内存叫做栈内存。
运行完的方法(函数)会被释放掉

如:
class FunctionDemo{
public static int add(int a,int b){
return a+b;
}
       public static void main(String [] args){
int x=add(3,5);
System.out.println("x="+x);
}
}
栈内存中先进的是main()方法,然后是add()方法,等add()方法运行完就会释放出来,然后执行main()方法。


内存的划分:
1.寄存器。
2.本地方法区
3.方法区
4.栈内存
     存储的都是局部变量,而且变量所属的作用域一旦结束,该变量就自动释放。
5.堆内存
存储是数组和对象(其实数组就是对象),凡是new建立的,都在堆中
特点:
1.每一个实体都有首地址值。
2.堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。正数是0,小数是0.0或者是0.0f...

3.垃圾回收机制

【数组内存解析】



ps:System.out.println(arr);会输出像这样的东西: [I@c17164

c17164:代表实体在内存中的存储位置,是由系统通过哈希算法算出的16进制的值

[I:     [代表数组,I代表int

































阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页