[英]Java - why System and Runtime classes have identical methods?
我最近想知道為什么java.lang.Runtime
和java.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.