| IDE | 操作 |
| IntelliJ IDEA | Ctrl+Click 類/方法名 → 自動反編譯或打開源碼 (需配置 JDK Sources) |
| Eclipse | F3 或 Ctrl+Click → 打開類編輯器 → "Attach Source" 指向 src.zip |
| VS Code | Extension Pack for Java → F12 跳轉定義 → 自動下載源碼 |
配置 JDK Sources (以 IDEA 為例)
File → Project Structure → SDKs
- 選中 JDK → Sourcepath 標籤
- 添加
JDK安裝目錄/lib/src.zip (或解壓後的目錄)
- Apply → OK
方法二:命令行查看 src.zip
# 解壓 JDK 源碼
unzip $JAVA_HOME/lib/src.zip -d ~/jdk-src
# 查看 String.length()
grep -n "public int length" ~/jdk-src/java/lang/String.java
# 查看 Math.random()
grep -n "public static double random" ~/jdk-src/java/lang/Math.java
方法三:在線瀏覽 (無需本地環境)
常見內部方法源碼位置
| 方法 | 文件路徑 |
String.length() | java/lang/String.java |
Scanner 構造/方法 | java/util/Scanner.java |
Math.random() | java/lang/Math.java |
ArrayList.add() | java/util/ArrayList.java |
HashMap.get() | java/util/HashMap.java |
進階:JDK 原生 C++ 實現 (HotSpot VM)
- 涉及
native 方法:Object.clone(), Thread.start(), System.arraycopy()
- 源碼位置:HotSpot C++ 源碼
- 需理解 JNI、JVM 內存模型、垃圾收集器實現
總結
IDE 配置 src.zip 後一鍵跳轉 是最高效方式。命令行 grep 適合批量檢索。在線瀏覽適合無本地環境時。閱讀源碼是提升 Java 內功的最佳途徑。
- 上一篇文章: Java 方法參數與泛型參數的區別:泛型是類型參數化機制
- 下一篇文章: Java 源文件類定義規則詳解:一個 .java 文件能包含幾個類?
Copyright ©
程式碼之家 All Rights Reserved