1. 程式人生 > >jdk類庫原始碼分析-各個包

jdk類庫原始碼分析-各個包

這幾天分析了幾個類的原始碼,有了很多的思路,對於一些演算法和資料結構有了一定了解。但是,我對於各個類包還是迷糊,這裡補充下,讓大家有個清晰的認識。
這裡我主要以jdk1.6版本為例,現在版本已經是1.9了,但是實際開發的時候有很多問題暫時不說。
Java類庫概念:Java的應用程式介面以包的形式來組織,每個包提供了大量的相關類、介面和異常處理類,這些包的集合就是Java的類庫。
包名以 Java 開始的包是 Java 核心包 (Java Core Package) ;
包名以 Javax 開始的包是 Java 擴充套件包 (Java Extension Package) ,例如 javax.swing 包;

常用的 Java 核心包 (Java Core Package)
1. java.lang Java 程式語言的基本類庫,在使用 Java 時,除了 java.lang 外,其他的包都需要 import 語句引入之後才能使用。

  1. java.applet 建立 applet 需要的所有類
  2. java.awt 建立使用者介面以及繪製和管理圖形、影象的類
  3. java.io 通過資料流、物件序列以及檔案系統實現的系統輸入、輸出
  4. java.NET 用於實現網路通訊應用的所有類
  5. java.util 集合類、時間處理模式、日期時間工具等各類常用工具包
    其它還有
  6. java.sql 訪問和處理來自於 Java 標準資料來源資料的類
  7. java.test 以一種獨立於自然語言的方式處理文字、日期、數字和訊息的類和介面
  8. java.security 設計網路安全方案需要的一些類
  9. java.beans 開發 Java Beans 需要的所有類
  10. java.math 簡明的整數算術以及十進位制算術的基本函式
  11. java.rmi 與遠端方法呼叫相關的所有類
    常用的 Java 擴充套件包 (Java Extension Package)
  12. javax.accessibility 定義了使用者介面元件之間相互訪問的一種機制
  13. javax.naming.* 為命名服務提供了一系列類和介面
  14. javax.swing.* 提供了一系列輕量級的使用者介面元件,是目前 Java 使用者介面常用的包
    其中最重要的是java.lang和java.util。
    java.lang 包
    這個包稱為 java 語言包,是由編譯器自動引入的。程式中不必用 import 語句就可以使用。它所包含的類和介面對所有實際的 Java 程式都是必要的。
  15. object 類
  16. 數學類 (Math)
  17. 資料型別類
  18. 執行緒類
  19. 字串類 (String 類和 StringBuffer 類 )
  20. 系統及執行類 (System 類和 Runtime 類 )
  21. 錯誤和異常處理類 (Throwable 、 Exception 、 Error)
  22. 過程類 (process)
    java.util 包
  23. 日期類、日曆類( Data 、 Calendar 、 GregorianCalendar )
  24. 隨機數類( Random )
  25. 位運算類( BitSet )
  26. 向量類( Vector )
  27. 資料結構類( Stack )
  28. 散列表類( Hashtable )
  29. StringTokenizer類

1.java.lang包 java.lang包 是Java中最常用的包,程式不需要注入,就可以使用該包中的類,利用包中的類可以設計最基本的Java程式。

2.java.awt包 java.awt包中的類提供了圖形介面的建立方法,包括按鈕、文字框、列表框、容器、字型、顏色和圖形等元素的建立和設定。

3.javax.swing包 javax.swing包為Java編寫的圖形介面提供建立類,利用javax.swing包的類建立的介面元素可調整為各種作業系統的介面風格,支援各種操作平臺的介面的開發。此外,swing包還提供了樹形控制元件、標籤頁控制元件、表格控制元件的類。Java.swing包中的很多類都是從java.awt包的類繼承而來,Java保留使用java.awt包是為了保持技術的相容性,但應儘量地使用javax.swing包來開發程式介面。

4.java.io包 java.io包的類提供資料流方式的系統輸入輸出控制、檔案和物件的讀寫序列化處理,比較常用的類包括:BufferInputStream、BufferOutputStream、BufferedReader、BufferedWriter、DataInputStream、DataOutputStream、FileInputStream和FileOutputStream等。

5.java.util包 java.util包提供時間日期、隨機數以及列表、集合、雜湊表和堆疊等建立複雜資料結構的類,比較常見的類有:Date、Timer、Random和LinkedList等。

6.java.net包 java.net包提供網路開發的支援,包括封裝了Socket套接字功能的伺服器Serversocket類、客戶端Socket類以及訪問網際網路上的各種資源的URL類。

7.java.applet包 java.applet包只有一個Applet類,用於開發網頁上的Applet小程式,使網頁具有更強的互動能力以及多媒體、網路功能。

這七個包中的類庫都是java程式語言中最基本最常用的,同學們一定要熟練掌握。這樣才能在java程式語言學習中提高效率,事半功倍。