java中两个不同类中需要declare gc()方法
如果我们调用System.gc(),它会在内部调用Runtime.getRuntime().gc()方法,那么为什么sun需要在System和Runtime这两个类中创建gc方法,而没有System类,我们可以调用Runtime.getRuntime().gc()并请求JVM进行垃圾收集 在两个类中使用gc()方法的原因是什么java中两个不同类中需要declare gc()方法,java,garbage-collection,jvm,Java,Garbage Collection,Jvm,如果我们调用System.gc(),它会在内部调用Runtime.getRuntime().gc()方法,那么为什么sun需要在System和Runtime这两个类中创建gc方法,而没有System类,我们可以调用Runtime.getRuntime().gc()并请求JVM进行垃圾收集 在两个类中使用gc()方法的原因是什么 请解释您的原因。这只是使用相同方法的方便途径。也可以在API说明中找到: The call System.gc() is effectively equivalent
请解释您的原因。这只是使用相同方法的方便途径。也可以在API说明中找到:
The call System.gc() is effectively equivalent to the call:
Runtime.getRuntime().gc()
提示:不要手动调用GC。在大多数情况下,这是一个坏主意。我认为,如果对象符合垃圾收集的条件,那么JVM将在内部调用gc()方法。System类包含静态gc()方法,因此jvm可以使用类名(即System.gc())轻松调用此方法。但运行时类包含非静态gc()方法,jvm不可能直接调用此方法,因为它需要对象来调用非静态方法
方法内部调用Runtime.getRuntime.gc()
System.gc()
比Runtime.getRuntime().gc()短代码>@Sotirios Delimanolis-你能详细说明你的想法吗answer@Joachim伊萨克森——我知道答案。但我想知道为什么System.gc()
是11个字符的代码<代码>Runtime.getRuntime().gc()代码>更多。@Joachim Isaksson、@Sotirios Delimanolis、@Peter Lawrey、@Kevin Panko、@Simon MᶜKenzie首先我读到system.gc()和runtime.gc()之间的区别,这还不足以回答这个问题