1. 程式人生 > >System類與Runtime類

System類與Runtime類

應用 load get native blog img 交互 jvm runtime

PS: Java程序在不同操作系統上運行時,可能需要取得平臺相關的屬性,或者調用平臺命令來完成特定功能。java提供了System類與Runtime類來與程序的運行平臺進行交互。

System類:

1.代表當前java程序的運行平臺,程序不能創建System類的對象,System類提供了一些類變量和類方法,允許直接通過Sytem類來調用這些類變量和類方法。

2. System類提供了代表標準輸入、標準輸出和錯誤輸出的類變量,並提供了一些靜態方法用於訪問環境變量、系統屬性的方法,還提供了加載文件和動態鏈接庫的方法(主要對native方法有用)

技術分享

3.提供了通知系統進行垃圾回收的gc()方法,以及通知系統進行資源清理的runFinalization()方法

4.提供兩個獲取系統當前時間的方法:currentTimeMillis()和nanoTime(),返回一個long型整數,返回的是與1970年1月1日與當前的時間差,前者以毫秒為單位,後者以納秒

5.in.out.err分別代表系統的標準輸入(通常是鍵盤)標準輸出(通常是顯示器)和錯誤輸出流,並提供了setIn、setOut、setErr方法來改變系統的標準輸入、標準輸出、標準錯誤輸出流

6.提供identityHashCode(Object x)方法,獲取根據該對象地址計算得到的hashCode值,如果兩個對象的hashCode值相等,一定是同一個對象

技術分享

Runtime類:

代表java程序的運行時環境,每個java程序都有一個與之對應的RunTime實例,應用程序通過該對象與其運行時環境相連(應用程序不能創建自己的RunTime實例,但是可以通過getRuntime()方法獲取與之相關的Runtime對象)

1.也提供了通知系統進行垃圾回收的gc()方法,以及通知系統進行資源清理的runFinalization()方法

2.提供了load()和 loadLibrary()方法來加載文件和動態鏈接庫

3.Runtime類代表java程序的運行時環境,可以獲取JVM的相關信息,如處理器數量、內存信息等

技術分享

4.可以直接單獨啟動一個進程來運行操作系統的命令

技術分享

System類與Runtime類