java的堆内存垃圾回收主要做两件事情:一,回收没有被引用的对象所占用的内存,二、回收内存碎片,因为java采用动态管理内存的方法,这样就会在释放没用对象的时候产生一些零散的可以被重新分配给新的对象的内存,垃圾回收就是将这些内存进行整理。
java的内存主要分为栈内存和堆内存,栈内存主要是用来存放基本的数据类型和对对象的引用,这些对象的变量将在将在其作用域结束之后自动被Java释放,并立即分配给其他的变量;堆内存主要用来存放类的实例即对象的值和new 出来的数组,堆内存管理主要是java的垃圾回收机制来管理。
栈内存的存取速度要比堆内存的存取速度要快