java 垃圾回收:在空闲时间以不定时的方式进行垃圾回收,回收的是无任何引用的对象占据的内存空间而不是对象本身 触发主 GC(Garbage Collector)的条件 (1)当应用程序空闲时, 即没有应用线程在运行时, GC 会被调用。因为 GC 在优先级最低的线程中进行, 所以当应用忙时, GC 线程就不会被调用, 但以下条件除外。 (2)Java 堆内存不足时, GC 会被调用。当应用线程在运行, 并在运行过程中创建新对象, 若这时内存空间不足, JVM 就会强制地调用 GC 线程, 以便回收内存用于新的分配。若 GC 一次之后仍不能满足内存分配的要求, JVM 会再进行两次 GC 作进一步的尝试, 若仍无法满足要求, 则 JVM 将报 “out of memory” 的错误, Java 应用将停止。