繁体   English   中英

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

[英]Java - why System and Runtime classes have identical methods?

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM