复制算法,它将堆上的内存分为两个大小相等的区域,一个是空闲区域,一个是活动区域.在程序运行中,实际使用的是活动区域,也就是有50%的空间被浪费掉. 复制算法的实现过程:1.找出活动空间中所有存活的对象.2.将这些存活的对象复制到空闲区域.3.将之前的活动空间清空,然后,就变为空闲空间了,而存活对象所在的区域,则变为活动空间了. 复制算法的优点,就是,内存回收完毕后,有一大片连续的可用空间.缺点,当然是,在程序运行期间,有50%的内存空间被放着,只有在发生内存回收的时候,GC才会借用空闲区域来实现