itgle.com
参考答案和解析
正确答案:

 

对于GC 来说,当程序员创建对象时,GC 就开始监控这个对象的地址、大小以及使用

情况。通常,GC 采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式

确定哪些对象是"可达的",哪些对象是"不可达的"。当GC 确定一些对象为"不可达"

时,GC 就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知

GC 运行,但是Java 语言规范并不保证GC 一定会执行。

更多“垃圾回收器的基本原理是什么?垃圾回收器可以马上 回收内存吗?有什么办法主动通知虚拟机进行 ”相关问题
  • 第1题:

    在Java中,负责对字节代码解释执行的是( )。A.垃圾回收器B.虚拟机C.编译器S

    在Java中,负责对字节代码解释执行的是( )。

    A.垃圾回收器

    B.虚拟机

    C.编译器

    D.多线程机制


    正确答案:B
    本题考查Java语言的虚拟机。Java语言的执行模式是半编译半解释型。Java编写好的程序首先由编译器转换为标准字节代码,然后由Java虚拟机去解释执行。字节代码是-种二进制文件,但不能直接在操作系统上运行,可看做虚拟机的机器码。虚拟机把字节码程序与各操作系统和硬件分开,使Java程序独立于平台。Java中的虚拟机是非常重要的概念,是Java语言的基础,掌握后有助于理解Java语言的实现。

  • 第2题:

    System类的()静态方法可以启动垃圾回收器。


    答案:gc()

  • 第3题:

    程序员可以不必释放已创建的对象,因为C#有垃圾回收机制,内存回收程序可在指定的时间释放内存对象


    错误

  • 第4题:

    在Java中负责对字节代码解释执行的是()。

    A、应用服务器

    B、虚拟机

    C、垃圾回收器

    D、编译器


    答案:B

  • 第5题:

    下列关于Java中垃圾回收的相关说法,正确的是()

    A.Java虚拟机会自动回收垃圾对象所占用的内存空间

    B.任何Java类都可以重写Object类的finalize()方法,在该方法中清理该对象占用的资源

    C.只有当程序认为需要更多的额外内存时,垃圾回收器才会自动进行垃圾回收

    D.调用垃圾回收方法后会立即进行垃圾回收


    ABC