亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java System類詳解_動力節(jié)點Java學(xué)院整理

 更新時間:2017年04月19日 14:28:19   投稿:mrr  
System類是jdk提供的一個工具類,有final修飾,不可繼承,由名字可以看出來,其中的操作多數(shù)和系統(tǒng)相關(guān)。這篇文章主要介紹了Java System類詳解_動力節(jié)點Java學(xué)院整理,需要的朋友可以參考下

System類是jdk提供的一個工具類,有final修飾,不可繼承,由名字可以看出來,其中的操作多數(shù)和系統(tǒng)相關(guān)。其功能主要如下:

• 標(biāo)準(zhǔn)輸入輸出,如out、in、err

• 外部定義的屬性和環(huán)境變量的訪問,如getenv()/setenv()和getProperties()/setProperties()

• 加載文件和類庫的方法,如load()和loadLibrary()、

• 一個快速拷貝數(shù)組的方法:arraycopy()

• 一些jvm操作,如gc()、runFinalization()、exit(),該部分并未在源碼的java doc中提到,可能因為本身不建議主動調(diào)用吧。而且這幾個方法都僅僅是Runtime.getRuntime()的調(diào)用,兩者沒有區(qū)別 下邊直接看圖,主要的方法和功能都已經(jīng)列出來。

 下邊我們重點來該類是如何初始化的。 首先在開頭我們就可以看如下代碼:

private static native void registerNatives();
static {
 registerNatives();
}

類中的靜態(tài)代碼塊調(diào)用了一個native方法registerNatives(),可以猜到該方法應(yīng)該是一個入口方法,看一下注釋:通過靜態(tài)初始化注冊native方法,該方法會令vm通過調(diào)用initializeSystemClass方法來完成初始化工作。果然如此,那么接下來我們看下initializeSystemClass方法吧:

private static void initializeSystemClass() {
  // 初始化props
  props = new Properties();
  initProperties(props); 
  sun.misc.VM.saveAndRemoveProperties(props);
  //獲取系統(tǒng)相關(guān)的換行符
  lineSeparator = props.getProperty("line.separator");
  sun.misc.Version.init();
  //分別創(chuàng)建in、out、err的實例對象,并通過setXX0()初始化,查看setXX0()方法可知,這是個native方法,將系統(tǒng)的標(biāo)準(zhǔn)流管理到類內(nèi)的對象
  FileInputStream fdIn = new FileInputStream(FileDescriptor.in);
  FileOutputStream fdOut = new FileOutputStream(FileDescriptor.out);
  FileOutputStream fdErr = new FileOutputStream(FileDescriptor.err);
  setIn0(new BufferedInputStream(fdIn));
  setOut0(new PrintStream(new BufferedOutputStream(fdOut, 128), true));
  setErr0(new PrintStream(new BufferedOutputStream(fdErr, 128), true));
  //加載zip包以獲取java.util.zip.ZipFile這個類,以便之后加載利庫使用
  loadLibrary("zip");
  // 設(shè)置平臺相關(guān)的信號處理
  Terminator.setup();
  // 初始化sun.misc相關(guān)的環(huán)境變量
  sun.misc.VM.initializeOSEnvironment();
  // 主線程不會在同一個線程組中添加相同的線程,我們必須在這里自己實現(xiàn)。注釋半天沒弄明白,看代碼就是主線程自己把自己加到了自己的線程組中......
  Thread current = Thread.currentThread();
  current.getThreadGroup().add(current);
  // 注冊共享秘鑰?注釋沒看明白,該方法就是實例化一個JavaLangAccess
  setJavaLangAccess();
  // 子系統(tǒng)在初始化的時候可以調(diào)用sun.misc.VM.isBooted(),以保證在application類加載器啟動前不做任何事。booted()其實就是改了個狀態(tài),使isBooted()變?yōu)閠rue。
  sun.misc.VM.booted();
}

以上所述是小編給大家介紹的Java System類詳解_動力節(jié)點Java學(xué)院整理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 解析Java并發(fā)Exchanger的使用

    解析Java并發(fā)Exchanger的使用

    Exchanger是java 5引入的并發(fā)類,Exchanger顧名思義就是用來做交換的。這里主要是兩個線程之間交換持有的對象。當(dāng)Exchanger在一個線程中調(diào)用exchange方法之后,會等待另外的線程調(diào)用同樣的exchange方法。兩個線程都調(diào)用exchange方法之后,傳入的參數(shù)就會交換。
    2021-06-06
  • java RSAUtils 加密工具類操作

    java RSAUtils 加密工具類操作

    這篇文章主要介紹了java RSAUtils 加密工具類操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • java序列化與ObjectOutputStream和ObjectInputStream的實例詳解

    java序列化與ObjectOutputStream和ObjectInputStream的實例詳解

    這篇文章主要介紹了java序列化與ObjectOutputStream和ObjectInputStream的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • 說說字符串轉(zhuǎn) OffSetDateTime 你真的會用嗎

    說說字符串轉(zhuǎn) OffSetDateTime 你真的會用嗎

    這篇文章主要介紹了字符串轉(zhuǎn) OffSetDateTime 你真的會用嗎?具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 解決IDEA報錯java無效的目標(biāo)發(fā)行版:22

    解決IDEA報錯java無效的目標(biāo)發(fā)行版:22

    在使用IDEA編譯項目時,可能會遇到JDK版本不一致的錯誤,這篇文章主要介紹了解決IDEA報錯java無效的目標(biāo)發(fā)行版:22的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • java三個環(huán)境變量配置簡單教程

    java三個環(huán)境變量配置簡單教程

    這篇文章主要為大家詳細(xì)介紹了java三個環(huán)境變量配置簡單教程,配置path變量、配置classpath變量、最后是配置JAVA_HOME變量,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Java實現(xiàn)基本排序算法的示例代碼

    Java實現(xiàn)基本排序算法的示例代碼

    排序就是將一串記錄按照其中某個或某些關(guān)鍵字的大小,遞增或遞減的排列起來的操作。本文將用Java實現(xiàn)一些基本的排序算法,感興趣的可以了解一下
    2022-07-07
  • 探究Java常量本質(zhì)及三種常量池(小結(jié))

    探究Java常量本質(zhì)及三種常量池(小結(jié))

    這篇文章主要介紹了探究Java常量本質(zhì)及三種常量池(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • NoHttpResponseException問題分析解決記錄

    NoHttpResponseException問題分析解決記錄

    這篇文章主要為大家介紹了NoHttpResponseException問題分析解決記錄,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Java web中 war exploded 的解決方案

    Java web中 war exploded 的解決方案

    這篇文章主要介紹了Java web中 war exploded 的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評論