1. 程式人生 > >jdk中rt.jar的作用

jdk中rt.jar的作用

最近看java.util.concurrent包的內容,發現java.time.、java.util.、java.nio.、java.lang.、java.text.、java.sql.、java.math.*等等都在rt.jar包下,才發現自己對平時經常用到的jdk的原始碼來源並不是很清晰。

我們在配置java環境變數時會配置JAVA_HOME、Path、Classpath,其中Classpath會配置.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar。當然,在jdk1.5之後可以不用再配置Classpath,筆者猜測應該是BootstrapClassloader已經默認了這個載入路徑%JAVA_HOME%\lib

的原因,有具體研究過的期待一起交流。

我們主要看下rt.jar、dt.jar、tools.jar的作用,rt.jar在%JAVA_HOME%\jre\lib,dt.jar和tools.jar在%JAVA_HOME%\lib下。

  • rt.jar:Java基礎類庫,也就是Java doc裡面看到的所有的類的class檔案。
  • tools.jar:是系統用來編譯一個類的時候用到的,即執行javac的時候用到。
  • dt.jar:dt.jar是關於執行環境的類庫,主要是swing包。

圖片太佔篇幅,最後我們再看下rt.jar包下的java包子目錄。
這裡寫圖片描述