1.内存管理:
1)java中的内存是由JVM管理的
2)系统中的内存分为
2.1)堆:用于存放所有new出来的对象(包括成员变量);
成员变量的生命周期:创建对象的时候在堆中,当对象被回收的时候一并消失。;
垃圾回收器(GC)会不定时的到堆中查看,看到垃圾(没有任何引用所指向的),回收的过程是透明的,并不是一看到垃圾及立刻回收,如果想要快速的回收,可以调用System.gc();方法。;
内存泄漏:不在使用的对象还没有被及时的回收。当一个对象不再使用的时候,应该及时将该对象置空。
2.2)栈:用于存储正在调用中的方法的所有的局部变量和参数。;
调用方法时在栈中为该方法分配一块对应的栈帧,栈帧中包含所有的局部变量,方法调用结束时局部变量与栈帧同时消失。;
一个栈帧中存储的是局部变量和参数。
2.3)方法区:方法去中存放的是类的信息,java程序运行的时候,首先会通过类装载器载入类文件的字节码信息,经过解析后将其装入方法区。类的各种信息都在方法区中存储。;
用于存放字节码文件,和方法,方法只有一份,通过this来区分。
3)java程序在运行的时候报内存不足是·因为JVM内存不足,解决方法:扩大JVM的内存