现在大多数的垃圾回收机制会自动进行内存碎片整理吗?

解决方案 »

  1.   

    肯定不会,垃圾回收只是把不用的对象所占有的内存释放出来而已,注意,这些内存都是操作系统事先分配给JVM的。至于内存整理这些都是操作系统级别的。。两者没有联系,over。
      

  2.   

    没有所谓的碎片生成也为可知啊,这个和堆的结构有关,JVM的堆是很NB的堆 
      

  3.   

    当执行构造方法生成一个对象时,需要占用各种系统资源。当生成的对象不再使用时,就需要返回给操作系统,以免资源泄漏。Java运行时系统通过垃圾收集器周期性地释放无用对象多使用的内存。当一个对象在程序中不再被使用时,即当前代码段不属于对象的作用域或者把对象的引用赋值为空,则该对象是无用对象。Java的垃圾收集器自动扫描对象的动态内存区,对不再使用的对象做上标记以进行垃圾回收。垃圾收集器作为一个线程运行。
      

  4.   

    不知道这样楼主是否能对java的垃圾收集器是不是有了一定的了解?
      

  5.   

    我好像看到过资料,在KVM这些嵌入式虚拟机里,GC时除了释放垃圾对象外,还要进行一次堆的整理以尽量腾出连续剩余空间,我觉得技术上来说也不是很麻烦,但不是很确定,所以想来这里确认一下。