Java - 为什么System和Runtime类具有相同的方法?

时间:2011-11-17 13:09:06

标签: java api runtime system

我最近想知道为什么java.lang.Runtimejava.lang.System都有相同的库加载,垃圾收集和类似操作的方法。是因为历史原因,为了方便,还是真的不同?这两个类都可以从JDK 1.0中获得......

3 个答案:

答案 0 :(得分:4)

我的猜测(请记住,这是猜测),System类中的方法是为了方便起见。例如,System.gc();是静态的,其中Runtime.gc();是实例方法。这使得调用更容易,因为您不需要获取Runtime实例。

答案 1 :(得分:2)

系统公开了开发人员使用System可能适合的各种事情。

我会担心程序员直接玩Runtime。要使System调用方法,需要公开它们。

System为Runtime提供了一个接口,以便能够访问适合程序员调用的Runtime方法。调用System方法并让它们适当地委派。

答案 2 :(得分:0)

如果您查看方法System#load(String)的示例,您会看到它调用方法Runtime#load(String)gc()也是如此。所以这很可能是出于历史原因。