一:静态内存的分配和回收策略
静态内存分配指 java在编译时期就能够确定需要的内存空间,并在程序加载时一次性分配给程序。这些内存空间在程序运行期间不会发生变化,直到程序运行结束时,内存空间被回收。
通常情况下,对象的引用,类和方法中的局部变量,,包括原生数据类型都是使用静态内存分配方法。
二:动态内存的分配和回收
动态内存分配主要是发生在java堆中,包括对象的创建,数组的创建。对象被回收的时间也不确定,只有当这个对象不再使用时才会被回收。
即:内存的分配是在对象创建是发生的,二内存的回收是不确定的,但是是以对象不再被引用为前提的。
三:检测垃圾
当一个对象不再被其他活动的对象引用时,这个对象就被判定为垃圾对象,他就可以被GC回收了。