Difference between system.gc() and runtime.gc()

前端 未结 7 873
谎友^
谎友^ 2020-12-12 19:15

What is the difference between System.gc() and Runtime.gc()?

7条回答
  •  遥遥无期
    2020-12-12 19:53

    Both are same System.gc() is effectively equivalent to Runtime.gc()

    System.gc() internally calls Runtime.gc().

    The only difference is :

    System.gc() is a class (static) method where as Runtime.gc() is an instance method. So, System.gc() is more convenient.

    System.gc()

    public final class System extends Object{
    
        public static void gc(){
            .
            .
             Runtime.getRuntime().gc();
        
        }
        .
        .
    
    }
    

    Runtime.gc()

    public class Runtime extends Object{
    
        public void gc(){
    
            // ...
    
        }
        .
        .
        .
    
    }
    

提交回复
热议问题