狠狠撸

狠狠撸Share a Scribd company logo
1
从闯顿碍到滨顿贰
學習目標
? 瞭解與設定PATH
? 瞭解與指定CLASSPATH、
SOURCEPATH
? 使用package與import管理類別
? 初探模組平台系統
? 認識JDK與IDE的對應
2
從 "Hello, World" 開始
3
? 副檔名是 .java
? 主檔名與類別名稱必須相同
? 注意每個字母大小寫
? 空白只能是半型空白字元或是Tab字元
4
PATH是什麼?
? Java的編譯器工具程式是javac
5
PATH環境變數
6
7
8
? 重新開啟命令提示字元之後,就會套用新的
環境變數
9
? 在安裝多個JDK或JRE的電腦中,必須知道
執行了哪個版本的JDK或JRE,確定PATH
資訊是一定要做的動作
10
JVM(java)與classpath
? JVM的可執行檔副檔名是.class
? 啟動JVM,要求JVM執行HelloWorld指令
11
? Java SE 11以後,可以使用java直接執行
.java檔案
12
? 試著切換至C:
13
? 使用-classpath
14
? JVM預設的CLASSPATH就是讀取目前資料夾
中的.class
15
編譯器(javac)與classpath
? C:workspaceclasses中有個已編譯的
Console.class
16
? 找不到Console類別(cannot find symbol)
17
? 在使用javac編譯器時,若要使用到其他類
別程式庫時,也必須指定CLASSPATH
18
編譯器(javac)與sourcepath
? labs資料夾的Hello1資料夾複製至C:workspace
19
20
21
使用package管理類別
? 分門別類管理類別的方式,無論是實體檔案
上的分類管理,或是類別名稱上的分類管理
22
23
? 原始碼檔案要放置在與package定義名稱階
層相同的資料夾階層。
? package定義名稱與class定義名稱,會結
合而成類別的完全吻合名稱(Fully qualified
name)。
? 位元碼檔案要放置在與package定義名稱階
層相同的資料夾階層。
? 要在套件間共用的類別或方法(Method)必
須宣告為public。
24
原始碼檔案與套件管理
? 所有原始碼檔案放在src中管理
? Console.java就必須放在src資料夾中的
cc/openhome/util資料夾
? 不容易發生原始碼檔案彼此覆蓋的問題
25
完全吻合名稱
26
位元碼檔案與套件管理
? 位元碼檔案放在classes資料夾中管理
? Console.class就必須放在classes資料夾中的
cc/openhome/util資料夾
27
使用import偷懶
28
? 多次使用import:
? 更偷懶一些:
29
? 偷懶也是有個限度
30
31
? java.lang套件
32
JVM(java)與module-path
? 模組平臺系統跟Java程式語言本身沒有關係
? 你基於Console撰寫了新的程式庫
? 有同事想要使用你的程式庫
? 你不要同事直接呼叫Console類別相關功能
? 程式庫之間錯綜複雜的相依性
33
第一個模組
? 範例檔中labs/CH02資料夾中的Hello2資料夾
至C:workspace
34
? 建立一個module-info.java
35
? module-info.java只是個設定檔
? module關鍵字僅在這個設定檔中設定之用,
不是Java程式語言的一部份
? 目前只能存取同一模組中的API,並且依賴
在Java標準API的java.base模組
? 可以在module-info.java中自行設定模組可以
公開哪些API,或者是依賴在哪個模組
36
? 可以將編譯出來的類別,放在mods資料夾中
對應模組名稱的資料夾之中
? 其他開發者若要使用這個模組,可以在執行
java時,透過--module-path(或縮寫-p
)指定模組路徑
37
模組描述檔(Module descripto)
? 可以透過--module或縮寫-m指定模組的程
式進入點
? 在完全吻合名稱前要指定模組名稱,然而,
這僅僅只是工具層面的需求,在程式碼撰寫
上,使用模組中的API,不用進行任何變更
38
? 也可以基於類別路徑來使用
? 在類別路徑下被發現的類別,都會被自動歸
類到一個未具名模組(Unnamed module)
? 未具名模組可以讀取其他模組
? 在模組路徑下被發現的類別,都屬於某個具
名模組(Named module)
39
編譯器(javac)與module-path
? 複製範例檔中labs/CH02的Hello3資料夾至
C:workspace
? 為了讓其他模組能使用此模組下的API,必
須在模組描述檔中使用exports
40
? 對cc.openhome.util模組進行編譯:
? 使用requires宣告依賴的模組
41
? 對cc.openhome模組進行編譯
? 在使用javac進行編譯時,也可以使用--
module-path指定模組路徑
42
編譯器(javac)與module-
source-path
? --module-source-path可以指定模組的
原始碼路徑
43
IDE專案管理基礎
44
45
46
47
48
49
使用了哪個JRE?
? 如果設定了PATH,會執行PATH 順序下找到
的第一個java可執行檔
50
51
52
53
類別檔案版本
54
55
56
57
58

More Related Content

What's hot (20)

Ch12 Spring 起步走
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走
Justin Lin
?
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin
?
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Justin Lin
?
Ch09 整合資料庫
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
?
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin
?
颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫
颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫
颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫
Justin Lin
?
Ch06 使用 JSP
Ch06 使用 JSPCh06 使用 JSP
Ch06 使用 JSP
Justin Lin
?
Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論
Justin Lin
?
Introduction à JPA  (Java Persistence API )Introduction à JPA  (Java Persistence API )
Introduction à JPA (Java Persistence API )
Daniel Rene FOUOMENE PEWO
?
Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法
Justin Lin
?
Java SE 8 技術手冊第 2 章 - 从闯顿碍到滨顿贰
Java SE 8 技術手冊第 2 章 - 从闯顿碍到滨顿贰Java SE 8 技術手冊第 2 章 - 从闯顿碍到滨顿贰
Java SE 8 技術手冊第 2 章 - 从闯顿碍到滨顿贰
Justin Lin
?
Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTL
Justin Lin
?
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin
?
JVM memory management & Diagnostics
JVM memory management & DiagnosticsJVM memory management & Diagnostics
JVM memory management & Diagnostics
Dhaval Shah
?
3?. Garbage Collection
3?. Garbage Collection3?. Garbage Collection
3?. Garbage Collection
? ??
?
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - Core
Dzmitry Naskou
?
Gradle
GradleGradle
Gradle
Han Yin
?
Introduction to Spring Framework and Spring IoC
Introduction to Spring Framework and Spring IoCIntroduction to Spring Framework and Spring IoC
Introduction to Spring Framework and Spring IoC
Funnelll
?
Memory Management in the Java Virtual Machine(Garbage collection)
Memory Management in the Java Virtual Machine(Garbage collection)Memory Management in the Java Virtual Machine(Garbage collection)
Memory Management in the Java Virtual Machine(Garbage collection)
Prashanth Kumar
?
Java 11 to 17 : What's new !?Java 11 to 17 : What's new !?
Java 11 to 17 : What's new !?
Jér?me Tamborini
?
Ch12 Spring 起步走
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走
Justin Lin
?
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin
?
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Justin Lin
?
Ch09 整合資料庫
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
?
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin
?
颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫
颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫
颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫
Justin Lin
?
Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論
Justin Lin
?
Introduction à JPA  (Java Persistence API )Introduction à JPA  (Java Persistence API )
Introduction à JPA (Java Persistence API )
Daniel Rene FOUOMENE PEWO
?
Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法
Justin Lin
?
Java SE 8 技術手冊第 2 章 - 从闯顿碍到滨顿贰
Java SE 8 技術手冊第 2 章 - 从闯顿碍到滨顿贰Java SE 8 技術手冊第 2 章 - 从闯顿碍到滨顿贰
Java SE 8 技術手冊第 2 章 - 从闯顿碍到滨顿贰
Justin Lin
?
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin
?
JVM memory management & Diagnostics
JVM memory management & DiagnosticsJVM memory management & Diagnostics
JVM memory management & Diagnostics
Dhaval Shah
?
3?. Garbage Collection
3?. Garbage Collection3?. Garbage Collection
3?. Garbage Collection
? ??
?
Introduction to Spring Framework and Spring IoC
Introduction to Spring Framework and Spring IoCIntroduction to Spring Framework and Spring IoC
Introduction to Spring Framework and Spring IoC
Funnelll
?
Memory Management in the Java Virtual Machine(Garbage collection)
Memory Management in the Java Virtual Machine(Garbage collection)Memory Management in the Java Virtual Machine(Garbage collection)
Memory Management in the Java Virtual Machine(Garbage collection)
Prashanth Kumar
?
Java 11 to 17 : What's new !?Java 11 to 17 : What's new !?
Java 11 to 17 : What's new !?
Jér?me Tamborini
?

Similar to 颁贬02:从闯顿碍到滨顿贰 (20)

从闯顿碍到滨顿贰
从闯顿碍到滨顿贰从闯顿碍到滨顿贰
从闯顿碍到滨顿贰
Justin Lin
?
Java SE 7 技術手冊投影片第 02 章 - 从闯顿碍到滨顿贰
Java SE 7 技術手冊投影片第 02 章 - 从闯顿碍到滨顿贰Java SE 7 技術手冊投影片第 02 章 - 从闯顿碍到滨顿贰
Java SE 7 技術手冊投影片第 02 章 - 从闯顿碍到滨顿贰
Justin Lin
?
闯补惫补类加载器
闯补惫补类加载器闯补惫补类加载器
闯补惫补类加载器
Fu Cheng
?
Java SE 7 技術手冊投影片第 01 章 - Java平台概論
Java SE 7 技術手冊投影片第 01 章 - Java平台概論Java SE 7 技術手冊投影片第 01 章 - Java平台概論
Java SE 7 技術手冊投影片第 01 章 - Java平台概論
Justin Lin
?
1, java intro
1, java intro1, java intro
1, java intro
ted-xu
?
课题一:笔贬笔5.3、笔贬笔5.4的特性介绍与深度挖掘
课题一:笔贬笔5.3、笔贬笔5.4的特性介绍与深度挖掘课题一:笔贬笔5.3、笔贬笔5.4的特性介绍与深度挖掘
课题一:笔贬笔5.3、笔贬笔5.4的特性介绍与深度挖掘
Liu Allen
?
2. java introduction
2. java introduction2. java introduction
2. java introduction
netdbncku
?
如何在 Java App 中導入 Scala
如何在 Java App 中導入 Scala如何在 Java App 中導入 Scala
如何在 Java App 中導入 Scala
javatwo2011
?
OpenEJB - 另一個選擇
OpenEJB - 另一個選擇OpenEJB - 另一個選擇
OpenEJB - 另一個選擇
Justin Lin
?
beidakejian
beidakejianbeidakejian
beidakejian
hanxuebing
?
Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00
Justin Lin
?
Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]
yiditushe
?
千呼萬喚始出來的 Java SE 7
千呼萬喚始出來的 Java SE 7千呼萬喚始出來的 Java SE 7
千呼萬喚始出來的 Java SE 7
Justin Lin
?
颁贬16:整合资料库
颁贬16:整合资料库颁贬16:整合资料库
颁贬16:整合资料库
Justin Lin
?
专案啟动与环境设定
专案啟动与环境设定专案啟动与环境设定
专案啟动与环境设定
Shengyou Fan
?
Java SE 7 技術手冊投影片第 12 章 - 通用API
Java SE 7 技術手冊投影片第 12 章  - 通用APIJava SE 7 技術手冊投影片第 12 章  - 通用API
Java SE 7 技術手冊投影片第 12 章 - 通用API
Justin Lin
?
颁贬10:输入输出
颁贬10:输入输出颁贬10:输入输出
颁贬10:输入输出
Justin Lin
?
給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由
Shengyou Fan
?
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Justin Lin
?
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
Will Huang
?
从闯顿碍到滨顿贰
从闯顿碍到滨顿贰从闯顿碍到滨顿贰
从闯顿碍到滨顿贰
Justin Lin
?
Java SE 7 技術手冊投影片第 02 章 - 从闯顿碍到滨顿贰
Java SE 7 技術手冊投影片第 02 章 - 从闯顿碍到滨顿贰Java SE 7 技術手冊投影片第 02 章 - 从闯顿碍到滨顿贰
Java SE 7 技術手冊投影片第 02 章 - 从闯顿碍到滨顿贰
Justin Lin
?
闯补惫补类加载器
闯补惫补类加载器闯补惫补类加载器
闯补惫补类加载器
Fu Cheng
?
Java SE 7 技術手冊投影片第 01 章 - Java平台概論
Java SE 7 技術手冊投影片第 01 章 - Java平台概論Java SE 7 技術手冊投影片第 01 章 - Java平台概論
Java SE 7 技術手冊投影片第 01 章 - Java平台概論
Justin Lin
?
1, java intro
1, java intro1, java intro
1, java intro
ted-xu
?
课题一:笔贬笔5.3、笔贬笔5.4的特性介绍与深度挖掘
课题一:笔贬笔5.3、笔贬笔5.4的特性介绍与深度挖掘课题一:笔贬笔5.3、笔贬笔5.4的特性介绍与深度挖掘
课题一:笔贬笔5.3、笔贬笔5.4的特性介绍与深度挖掘
Liu Allen
?
2. java introduction
2. java introduction2. java introduction
2. java introduction
netdbncku
?
如何在 Java App 中導入 Scala
如何在 Java App 中導入 Scala如何在 Java App 中導入 Scala
如何在 Java App 中導入 Scala
javatwo2011
?
OpenEJB - 另一個選擇
OpenEJB - 另一個選擇OpenEJB - 另一個選擇
OpenEJB - 另一個選擇
Justin Lin
?
Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00
Justin Lin
?
Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]
yiditushe
?
千呼萬喚始出來的 Java SE 7
千呼萬喚始出來的 Java SE 7千呼萬喚始出來的 Java SE 7
千呼萬喚始出來的 Java SE 7
Justin Lin
?
颁贬16:整合资料库
颁贬16:整合资料库颁贬16:整合资料库
颁贬16:整合资料库
Justin Lin
?
专案啟动与环境设定
专案啟动与环境设定专案啟动与环境设定
专案啟动与环境设定
Shengyou Fan
?
Java SE 7 技術手冊投影片第 12 章 - 通用API
Java SE 7 技術手冊投影片第 12 章  - 通用APIJava SE 7 技術手冊投影片第 12 章  - 通用API
Java SE 7 技術手冊投影片第 12 章 - 通用API
Justin Lin
?
颁贬10:输入输出
颁贬10:输入输出颁贬10:输入输出
颁贬10:输入输出
Justin Lin
?
給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由
Shengyou Fan
?
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Justin Lin
?
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
Will Huang
?

More from Justin Lin (20)

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Justin Lin
?
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
Justin Lin
?
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
Justin Lin
?
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
Justin Lin
?
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題
Justin Lin
?
13.并行、平行与非同步
13.并行、平行与非同步13.并行、平行与非同步
13.并行、平行与非同步
Justin Lin
?
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
Justin Lin
?
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
Justin Lin
?
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
Justin Lin
?
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構
Justin Lin
?
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
Justin Lin
?
7. 例外處理
7. 例外處理7. 例外處理
7. 例外處理
Justin Lin
?
6. 類別的繼承
6. 類別的繼承6. 類別的繼承
6. 類別的繼承
Justin Lin
?
5. 從模組到類別
5. 從模組到類別5. 從模組到類別
5. 從模組到類別
Justin Lin
?
4. 流程語法與函式
4. 流程語法與函式4. 流程語法與函式
4. 流程語法與函式
Justin Lin
?
3.型态与运算子
3.型态与运算子3.型态与运算子
3.型态与运算子
Justin Lin
?
1. Python起步走
1. Python起步走1. Python起步走
1. Python起步走
Justin Lin
?
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE2. 從 REPL 到 IDE
2. 從 REPL 到 IDE
Justin Lin
?
Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄
Justin Lin
?
颁贬19:深入模组化
颁贬19:深入模组化颁贬19:深入模组化
颁贬19:深入模组化
Justin Lin
?
Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Justin Lin
?
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
Justin Lin
?
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
Justin Lin
?
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
Justin Lin
?
13.并行、平行与非同步
13.并行、平行与非同步13.并行、平行与非同步
13.并行、平行与非同步
Justin Lin
?
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
Justin Lin
?
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
Justin Lin
?
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
Justin Lin
?
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
Justin Lin
?
6. 類別的繼承
6. 類別的繼承6. 類別的繼承
6. 類別的繼承
Justin Lin
?
5. 從模組到類別
5. 從模組到類別5. 從模組到類別
5. 從模組到類別
Justin Lin
?
4. 流程語法與函式
4. 流程語法與函式4. 流程語法與函式
4. 流程語法與函式
Justin Lin
?
3.型态与运算子
3.型态与运算子3.型态与运算子
3.型态与运算子
Justin Lin
?
1. Python起步走
1. Python起步走1. Python起步走
1. Python起步走
Justin Lin
?
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE2. 從 REPL 到 IDE
2. 從 REPL 到 IDE
Justin Lin
?
Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄
Justin Lin
?
颁贬19:深入模组化
颁贬19:深入模组化颁贬19:深入模组化
颁贬19:深入模组化
Justin Lin
?

颁贬02:从闯顿碍到滨顿贰