源碼版本
- JDK1.8
源碼常用包及其內容
1、java.lang
這裏面其實就是Java的基本語法,比如各種基本包裝類型(Integer
、Long
、Double
等)、基本類(Object
,Class
,Enum
,Exception
,Thread
)等等…
2、java.lang.annotation
包含Java註解基本元素相關的源碼
3、java.lang.reflect
包含Java反射基本元素相關的代碼
4、java.util
這裏面放的都是Java的基本工具,最典型和常用的就是各種容器和集合(List
、Map
、Set
)
5、java.util.concurrent
大名鼎鼎的JUC包,裏面包含了Java併發和多線程編程相關的代碼
6、java.util.function
+java.util.stream
包含Java函數式編程的常見接口和代碼
7、java.io
包含Java傳統I/O相關的源碼,主要是面向字節和流的I/O
8、java.nio
包含Java非阻塞I/O相關的源碼,主要是面向緩衝、通道以及選擇器的I/O
9、java.time
包含Java新日期和期間相關的代碼,最典型的當屬LocalDateTime
、DateTimeFormatter
等
10、java.math
主要包含一些高精度運算的支持數據類
11、java.math
主要包含一些高精度運算的支持數據類
12、java.net
主要包含Java網絡通信(典型的如:Socket
通信)相關的源代碼。
閱讀順序
- 標題爲包名,後面序號爲優先級1-4,優先級遞減
- java.lang
1) Object 1
2) String 1
3) AbstractStringBuilder 1
4) StringBuffer 1
5) StringBuilder 1
6) Boolean 2
7) Byte 2
8) Double 2
9) Float 2
10) Integer 2
11) Long 2
12) Short 2
13) Thread 2
14) ThreadLocal 2
15) Enum 3
16) Throwable 3
17) Error 3
18) Exception 3
19) Class 4
20) ClassLoader 4
21) Compiler 4
22) System 4
23) Package 4
24) Void 4
-
java.util
-
java.io
-
java.nio
-
java.time
-
java.math
-
java.net