JDK源碼閱讀調試環境搭建

一 概述

1. JDK      java開發工具包

JDK全稱Java SE Development kit(JDK),即java標準版開發包,是Oracle提供的一套用於開發java應用程序的開發包,它提供編譯,運行java程序所需要的各種工具和資源,包括java編譯器,java運行時環境,以及常用的java類庫等。

2. JRE   Java Runtime Environment(JRE)  Java運行環境

Java運行環境,它的全稱Java Runtime Environment(JRE) ,因此也被稱爲JRE,它是運行java的必需條件。

3. JVM  Java Virtual Machine

Java虛擬機,JRE包含JVM。JVM是運行java程序的核心虛擬機,還需要其他的類加載器,字節碼校驗器,以及大量的基礎類庫。JRM除了包含JVM之外,還包含運行java程序的其它環境支持。

二 JDK的安裝和配置(以JDK8爲例)

       1. Java SE Development kit(JDK) 8下載

2. JDK 安裝

       開始安裝

       選擇安裝目錄

3. JDK 的配置

    1. 操作步驟與操作圖示

(1)新建->變量名"JAVA_HOME",變量值"D:\Java\jdk"(即JDK的安裝路徑)

(2)編輯->變量名"Path",在原變量值的最後面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”

(3)新建->變量名“CLASSPATH”,變量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”

2. 檢測環境變量配置(cmd輸入java -version查看輸出的ava版本信息與安裝的版本信息相同即可)

三 利用Idea搭建源碼閱讀調試環境

       1. 在Idea中新建一個簡單的java項目,然後導入JDK源碼調試(JDK源碼就在下載安裝的JDK的src.zip壓縮包中,我們將其解壓縮然後複製到新建的java項目的代碼目錄中即可),如圖src.zip的目錄地址

2. src.zip解壓後的目錄結構以及內容

src.zip
  |— com           //com目錄中只包含了sun目錄
  |
  |        |— sun  //sun目錄中的內容是sun的hotspot虛擬機中java.* 和javax.*的實現類。因爲包含在 
  |                  rt中,所以我們也可以調用。但是因爲不是sun對外公開承諾的接口,所以根據根據實 
  |                  現的需要隨時增減,因此在不同版本hotspot中可能是不同的,而且在其他的jdk實現 
  |                  中是沒有的,調用這些類,可能不會向後兼容,所以一般不推薦使用。  
  |              
  |— java          //java目錄是javaSE的標準庫,是java標準的一部分,是對外承諾的java開發接口, 
  |                  通常要保持向後兼容,一般不會輕易修改。包括其他廠家的在內,所有jdk的實現, 
  |                  在java.*上都是一樣的。
  |          
  |— javax         //java目錄也是java標準的一部分,但是沒有包含在標準庫中,一般屬於標準庫的擴展 
  |                  通常屬於某個特定領域,不是一般性的api。 所以以擴展的方式提供api,以避免jdk 
  |                  的標準庫過大。當然某些早期的javax,後來被併入到標準庫中,所有也應該屬於新版
  |                  本JDK的標準庫。比如jmx,java 5以前是以擴展方式提供,但是jdk5以後就做爲標準 
  |                  庫的一部分了,所有javax.management也是jdk5的標準庫的一部分。
  |        
  |— launcher      //launcher目錄中包含的是JRE中用於啓動程序入口main()方法的類。  
  |        
  |— org           //org目錄是由企業或者組織提供的java類庫,大部分不是sun公司提供的,同 
  |                  com.sun.*,不具備向後兼容性,會根據需要隨時增減。其中比較常用的是w3c
  |                  提供的對XML、網頁、服務器的類和接口。 
  |                  

  

3. 導入到項目後的結構

4. 解決編譯出現的系統資源不足的問題

    問題:

   解決辦法:

 5.  由於jdk源碼是受保護的,我們debug,F7 step Into是無法步入調試的,其實只要進入設置將Debugger中的Do not step into the classes的勾去掉即可!

6. jdk源碼文件被鎖定是不能修改的,也就是常看到源碼類文件有個小鎖的圖標。

因爲這些源碼文件的來源是jdk安裝目錄下src.zip,該包下的文件是不可更改的,所以我們在設置中將其刪除,然後重新加入自己的源碼包即可

四 總結

至此,JDK源碼閱讀調試環境搭建已經完成,希望對大家的幫助!謝謝查看!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章