SlideShare a Scribd company logo
1 of 50
反射與類別載入器
學習目標
• 取得 .class 案資訊檔
• 動態生成物件與操作方法
• 瞭解 JDK 類別載入器階層
• 使用 ClassLoader 實例
Class 與 .class 案檔
• Java 真正需要某個類別時才會載入對應
的 .class 案檔
• java.lang.Class 的實例代表 Java 應用程
式運行時載入的 .class 案檔
• Class 類別沒有公開( public )建構式,
實例是由 JVM 自動產生
Class 與 .class 案檔
• 可以透過 Object 的 getClass() 方法,或
者是透過 .class 常量( Class literal )取得每
個物件對應的 Class 物件
• 如果是基本型態,也可以使用對應的包裹類
別加上 .TYPE 取得 Class 物件
– 如 Integer.TYPE 可取得代表 int 的 Class
物件
– 如果要取得代表 Integer.class 案的檔 Class ,則
必須使用 Integer.class
Class 與 .class 案檔
• 可以操作 Class 物件的公開方法取得類別基
本資訊
Class 與 .class 案檔
• 載入 .class 案的時機檔
– 使用指定類別生成物件時
– 使用 Class.forName()
– 使用 java.lang.ClassLoader 實例的
loadClass()
• 使用類別宣告參考名稱並不會載入 .class 檔
案
Class 與 .class 案檔
Class 與 .class 案檔
• 編譯時期若使用到相關類別,編譯器會檢查
對應的 .class 案中記載之資訊,以確定是檔
否可完成編譯
• 執行時期使用某類別時,會先檢 是否有對查
應的 Class 物件,如果沒有,會載入對應
的 .class 案並生成對應的檔 Class 實例
Class 與 .class 案檔
• 預設 JVM 只會用一個 Class 實例來代表一
個 .class 案(確切說法是,經由同一類別檔
載入器載入的 .class 案,只會有一個對應檔
的 Class 實例)
• 每個類別的實例都會知道自己由 個哪 Class
實例生成。預設使用 getClass() 或 .class
取得的 Class 實例會是同一個物件
使用 Class.forName()
• 可以使用 Class.forName() 方法實現動態
載入類別,可用字串指定類別名稱來獲得類
別相關資訊
使用 Class.forName()
• Class.forName() 另一版本可以讓指定類
別名稱、載入類別時是否執行靜態區塊與類
別載入器:
• 如果使用第一個版本的 Class.forName()
方法,等同於:
使用 Class.forName()
從 Class 獲得資訊
• 取得 Class 物件後,就可以取得與 .class 檔
案中記載的的資訊,像是套件、建構式、方
法成員、資料成員等訊息
– java.lang.Package
– java.lang.reflect.Constructor
– java.lang.reflect.Method
– java.lang.reflect.Field
– …
從 Class 建立物件
• 取得 Class 物件之後,利用其
newInstance() 方法建立類別實例
從 Class 建立物件
• 你想採用影片程式庫來播放動畫,然而負責
實作影片程式庫的部門遲遲還沒動工,怎麼
辦 ?呢
從 Class 建立物件
• 可以在 動程式時,透過系統屬性啟
cc.openhome.PlayerImpl 指定
從 Class 建立物件
• 執行 MediaPlayer 若指定了 -
Dcc.openhome.PlayerImpl=cc.openhome.Conso
lePlayer
從 Class 建立物件
• 若類別定義有多個建構式,也可以指定使用
個建構式生成物件哪
• 假設因為某個原因,必須動態載入
java.util.List 實作類別
從 Class 建立物件
• 陣列的 Class 實例是由 JVM 生成,你並不
知道陣列的建構式為何
• 若要動態生成陣列,必須使用
java.lang.reflect.Array 的
newInstance() 方法
從 Class 建立物件
• 可以使用 Array.set() 方法指定索引設值
,或是使用 Array.get() 方法指定索引取
值
• 比較 懶的方式,偷 直接當作 Object[] (或
已知的陣列型態)使用
從 Class 建立物件
• 為何要使用 Array.newInstance() 建立
陣列實例?
• 回顧一下 9.1.7 中實作過的 ArrayList ,如
果現在為其設計一個 toArray() 方法:
從 Class 建立物件
• 現在有個使用者這麼使用 ArrayList ,會
出拋
java.lang.ClassCastException ,告
訴你不可以將 Object[] 當作 String[] 來
使用
從 Class 建立物件
• 可以如下解決:
操作物件方法與成員
• java.lang.reflect.Method 實例是方
法的代表物件,可以使用 invoke() 方法來
動態呼叫指定的方法
操作物件方法與成員
• 底下會設計一個 BeanUtil 類別,可以指定
Map 物件與類別名稱呼叫 getBean() 方法
,這個方法會抽取 Map 內容並封裝為指定類
別的實例
– 例如 Map 中收集了學生資料,則以下傳回的就是
Student 實例
操作物件方法與成員
• 想呼叫受保護的( protected )或私有
( private )方法
操作物件方法與成員
• 可以使用反射機制存取類別資料成員
( Field )
動態代理
• 需要在執行某些方法時進行日誌記錄,你可
能會如下撰寫:
靜態代理
• 在靜態代理實現中,代理物件與被代理物件
必須實現同一介面
靜態代理
• 代理物件同樣也要實現 Hello 介面
靜態代理
• 可以如下使用代理物件:
動態代理
• 使用動態代理機制,可使用一個處理者
( Handler )代理多個介面的實作物件
動態代理
• 使用 LoggingHandler 的 bind() 方法來
定被代理物件綁
類別載入器階層架構
類別載入器階層架構
• 如果是 Oracle 的 JDK , Bootstrap Loader 會
搜尋系統參數 sun.boot.class.path 中指定位置
的類別
類別載入器階層架構
• Extended Loader 由 Java 撰寫而成,會搜尋系
統參數 java.ext.dirs 中指定位置的類別
類別載入器階層架構
• System Loader 由 Java 撰寫而成,會搜尋系統
參數 java.class.path 指定位置的類別,也就是
CLASSPATH 路徑
• 使用 java 執行程式時,可以加上 -cp 來覆蓋
原有的 CLASSPATH 設定
類別載入器階層架構
• 在載入類別時,每個類別載入器會先將載入
類別的任務交由給父載入器,如果父載入器
找不到,才由自己載入
– 所以會以 Bootstrap Loader→Extended
Loader→System Loader 順序尋找類別
• 如果所有類別載入器都找不到指定類別,就
是 java.lang.NoClassDefFoundError
類別載入器階層架構
• 類別載入器都繼承自抽象類別
java.lang.ClassLoader ,可以由
Class 的 getClassLoader() 取得
類別載入器階層架構
• 如果 Some 可在 CLASSPATH 中載入
類別載入器階層架構
• 如果把 Some.class 案(包括套件資料夾)檔
移至 JRE 目錄的 libextclasses 下
建立 ClassLoader 實例
• Bootstrap Loader 、 Extended Loader 與
System Loader 在程式 動後,就無法再改變啟
它們的搜尋路徑
• 可以使用 URLClassLoader 來產生新的類
別載入器
建立 ClassLoader 實例
• 由同一類別載入器載入的 .class 案,只會檔
有一個 Class 實例
• 如果同一 .class 案由兩個不同的類別載入檔
器載入,則會有兩份不同的 Class 實例
Java SE 8 技術手冊第 17 章 - 反射與類別載入器

More Related Content

What's hot

Java SE 7 技術手冊投影片第 12 章 - 通用API
Java SE 7 技術手冊投影片第 12 章  - 通用APIJava SE 7 技術手冊投影片第 12 章  - 通用API
Java SE 7 技術手冊投影片第 12 章 - 通用APIJustin Lin
 
Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝Justin Lin
 
Java SE 7 技術手冊投影片第 04 章 - 認識物件
Java SE 7 技術手冊投影片第 04 章 - 認識物件Java SE 7 技術手冊投影片第 04 章 - 認識物件
Java SE 7 技術手冊投影片第 04 章 - 認識物件Justin Lin
 
反射與類別載入器
反射與類別載入器反射與類別載入器
反射與類別載入器Justin Lin
 
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題Justin Lin
 
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
Java SE 7 技術手冊投影片第 05 章  - 物件封裝Java SE 7 技術手冊投影片第 05 章  - 物件封裝
Java SE 7 技術手冊投影片第 05 章 - 物件封裝Justin Lin
 
CH17:反射與類別載入器
CH17:反射與類別載入器CH17:反射與類別載入器
CH17:反射與類別載入器Justin Lin
 
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行APIJava SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行APIJustin Lin
 
深入模組化
深入模組化深入模組化
深入模組化Justin Lin
 
Java SE 8 技術手冊第 15 章 - 通用API
Java SE 8 技術手冊第 15 章 - 通用APIJava SE 8 技術手冊第 15 章 - 通用API
Java SE 8 技術手冊第 15 章 - 通用APIJustin Lin
 
Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法Justin Lin
 
從模組到類別
從模組到類別從模組到類別
從模組到類別Justin Lin
 
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出Justin Lin
 
CH09:Collection與Map
CH09:Collection與MapCH09:Collection與Map
CH09:Collection與MapJustin Lin
 
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構Justin Lin
 
Java SE 7 技術手冊投影片第 06 章 - 繼承與多型
Java SE 7 技術手冊投影片第 06 章 - 繼承與多型Java SE 7 技術手冊投影片第 06 章 - 繼承與多型
Java SE 7 技術手冊投影片第 06 章 - 繼承與多型Justin Lin
 
Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註
Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註
Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註Justin Lin
 

What's hot (20)

Java SE 7 技術手冊投影片第 12 章 - 通用API
Java SE 7 技術手冊投影片第 12 章  - 通用APIJava SE 7 技術手冊投影片第 12 章  - 通用API
Java SE 7 技術手冊投影片第 12 章 - 通用API
 
Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝Java SE 8 技術手冊第 5 章 - 物件封裝
Java SE 8 技術手冊第 5 章 - 物件封裝
 
Java SE 7 技術手冊投影片第 04 章 - 認識物件
Java SE 7 技術手冊投影片第 04 章 - 認識物件Java SE 7 技術手冊投影片第 04 章 - 認識物件
Java SE 7 技術手冊投影片第 04 章 - 認識物件
 
反射與類別載入器
反射與類別載入器反射與類別載入器
反射與類別載入器
 
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題
 
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
Java SE 7 技術手冊投影片第 05 章  - 物件封裝Java SE 7 技術手冊投影片第 05 章  - 物件封裝
Java SE 7 技術手冊投影片第 05 章 - 物件封裝
 
CH17:反射與類別載入器
CH17:反射與類別載入器CH17:反射與類別載入器
CH17:反射與類別載入器
 
進階主題
進階主題進階主題
進階主題
 
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行APIJava SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
 
深入模組化
深入模組化深入模組化
深入模組化
 
認識物件
認識物件認識物件
認識物件
 
Java SE 8 技術手冊第 15 章 - 通用API
Java SE 8 技術手冊第 15 章 - 通用APIJava SE 8 技術手冊第 15 章 - 通用API
Java SE 8 技術手冊第 15 章 - 通用API
 
Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法Java SE 8 技術手冊第 3 章 - 基礎語法
Java SE 8 技術手冊第 3 章 - 基礎語法
 
從模組到類別
從模組到類別從模組到類別
從模組到類別
 
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
Java SE 7 技術手冊投影片第 10 章 - 輸入輸出
 
CH09:Collection與Map
CH09:Collection與MapCH09:Collection與Map
CH09:Collection與Map
 
物件封裝
物件封裝物件封裝
物件封裝
 
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構
 
Java SE 7 技術手冊投影片第 06 章 - 繼承與多型
Java SE 7 技術手冊投影片第 06 章 - 繼承與多型Java SE 7 技術手冊投影片第 06 章 - 繼承與多型
Java SE 7 技術手冊投影片第 06 章 - 繼承與多型
 
Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註
Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註
Java SE 7 技術手冊投影片第 16 章 - 自訂泛型、列舉與標註
 

Viewers also liked

Java SE 8 技術手冊第 12 章 - Lambda
Java SE 8 技術手冊第 12 章 - LambdaJava SE 8 技術手冊第 12 章 - Lambda
Java SE 8 技術手冊第 12 章 - LambdaJustin Lin
 
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註Justin Lin
 
Java SE 8 技術手冊第 16 章 - 整合資料庫
Java SE 8 技術手冊第 16 章 - 整合資料庫Java SE 8 技術手冊第 16 章 - 整合資料庫
Java SE 8 技術手冊第 16 章 - 整合資料庫Justin Lin
 
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2Justin Lin
 
Java SE 8 技術手冊第 13 章 - 時間與日期
Java SE 8 技術手冊第 13 章 - 時間與日期Java SE 8 技術手冊第 13 章 - 時間與日期
Java SE 8 技術手冊第 13 章 - 時間與日期Justin Lin
 
Java SE 8 技術手冊第 11 章 - 執行緒與並行API
Java SE 8 技術手冊第 11 章 - 執行緒與並行APIJava SE 8 技術手冊第 11 章 - 執行緒與並行API
Java SE 8 技術手冊第 11 章 - 執行緒與並行APIJustin Lin
 
Java SE 8 技術手冊第 7 章 - 介面與多型
Java SE 8 技術手冊第 7 章 - 介面與多型Java SE 8 技術手冊第 7 章 - 介面與多型
Java SE 8 技術手冊第 7 章 - 介面與多型Justin Lin
 
Java SE 8 技術手冊第 10 章 - 輸入輸出
Java SE 8 技術手冊第 10 章 - 輸入輸出Java SE 8 技術手冊第 10 章 - 輸入輸出
Java SE 8 技術手冊第 10 章 - 輸入輸出Justin Lin
 
Java SE 8 技術手冊第 8 章 - 例外處理
Java SE 8 技術手冊第 8 章 - 例外處理Java SE 8 技術手冊第 8 章 - 例外處理
Java SE 8 技術手冊第 8 章 - 例外處理Justin Lin
 
Java SE 8 技術手冊第 6 章 - 繼承與多型
Java SE 8 技術手冊第 6 章 - 繼承與多型Java SE 8 技術手冊第 6 章 - 繼承與多型
Java SE 8 技術手冊第 6 章 - 繼承與多型Justin Lin
 
Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論Justin Lin
 
從 REPL 到 IDE
從 REPL 到 IDE從 REPL 到 IDE
從 REPL 到 IDEJustin Lin
 
3D 之邏輯與美感交會 - OpenSCAD
3D 之邏輯與美感交會 - OpenSCAD3D 之邏輯與美感交會 - OpenSCAD
3D 之邏輯與美感交會 - OpenSCADJustin Lin
 
Java SE 7 技術手冊試讀 - Java 平台概論
Java SE 7 技術手冊試讀 - Java 平台概論Java SE 7 技術手冊試讀 - Java 平台概論
Java SE 7 技術手冊試讀 - Java 平台概論Justin Lin
 
JDK8 Functional API
JDK8 Functional APIJDK8 Functional API
JDK8 Functional APIJustin Lin
 
淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle淺談 Groovy 與 Gradle
淺談 Groovy 與 GradleJustin Lin
 
Java Web 程式之效能技巧與安全防護
Java Web 程式之效能技巧與安全防護Java Web 程式之效能技巧與安全防護
Java Web 程式之效能技巧與安全防護Justin Lin
 
Java 8 與 retrolambda
Java 8 與 retrolambdaJava 8 與 retrolambda
Java 8 與 retrolambdaJustin Lin
 
常用內建模組
常用內建模組常用內建模組
常用內建模組Justin Lin
 

Viewers also liked (20)

Java SE 8 技術手冊第 12 章 - Lambda
Java SE 8 技術手冊第 12 章 - LambdaJava SE 8 技術手冊第 12 章 - Lambda
Java SE 8 技術手冊第 12 章 - Lambda
 
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
 
Java SE 8 技術手冊第 16 章 - 整合資料庫
Java SE 8 技術手冊第 16 章 - 整合資料庫Java SE 8 技術手冊第 16 章 - 整合資料庫
Java SE 8 技術手冊第 16 章 - 整合資料庫
 
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
Java SE 8 技術手冊第 14 章 - NIO 與 NIO2
 
Java SE 8 技術手冊第 13 章 - 時間與日期
Java SE 8 技術手冊第 13 章 - 時間與日期Java SE 8 技術手冊第 13 章 - 時間與日期
Java SE 8 技術手冊第 13 章 - 時間與日期
 
Java SE 8 技術手冊第 11 章 - 執行緒與並行API
Java SE 8 技術手冊第 11 章 - 執行緒與並行APIJava SE 8 技術手冊第 11 章 - 執行緒與並行API
Java SE 8 技術手冊第 11 章 - 執行緒與並行API
 
Java SE 8 技術手冊第 7 章 - 介面與多型
Java SE 8 技術手冊第 7 章 - 介面與多型Java SE 8 技術手冊第 7 章 - 介面與多型
Java SE 8 技術手冊第 7 章 - 介面與多型
 
Java SE 8 技術手冊第 10 章 - 輸入輸出
Java SE 8 技術手冊第 10 章 - 輸入輸出Java SE 8 技術手冊第 10 章 - 輸入輸出
Java SE 8 技術手冊第 10 章 - 輸入輸出
 
Java SE 8 技術手冊第 8 章 - 例外處理
Java SE 8 技術手冊第 8 章 - 例外處理Java SE 8 技術手冊第 8 章 - 例外處理
Java SE 8 技術手冊第 8 章 - 例外處理
 
Java SE 8 技術手冊第 6 章 - 繼承與多型
Java SE 8 技術手冊第 6 章 - 繼承與多型Java SE 8 技術手冊第 6 章 - 繼承與多型
Java SE 8 技術手冊第 6 章 - 繼承與多型
 
Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論Java SE 8 技術手冊第 1 章 - Java平台概論
Java SE 8 技術手冊第 1 章 - Java平台概論
 
從 REPL 到 IDE
從 REPL 到 IDE從 REPL 到 IDE
從 REPL 到 IDE
 
進階主題
進階主題進階主題
進階主題
 
3D 之邏輯與美感交會 - OpenSCAD
3D 之邏輯與美感交會 - OpenSCAD3D 之邏輯與美感交會 - OpenSCAD
3D 之邏輯與美感交會 - OpenSCAD
 
Java SE 7 技術手冊試讀 - Java 平台概論
Java SE 7 技術手冊試讀 - Java 平台概論Java SE 7 技術手冊試讀 - Java 平台概論
Java SE 7 技術手冊試讀 - Java 平台概論
 
JDK8 Functional API
JDK8 Functional APIJDK8 Functional API
JDK8 Functional API
 
淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle
 
Java Web 程式之效能技巧與安全防護
Java Web 程式之效能技巧與安全防護Java Web 程式之效能技巧與安全防護
Java Web 程式之效能技巧與安全防護
 
Java 8 與 retrolambda
Java 8 與 retrolambdaJava 8 與 retrolambda
Java 8 與 retrolambda
 
常用內建模組
常用內建模組常用內建模組
常用內建模組
 

Similar to Java SE 8 技術手冊第 17 章 - 反射與類別載入器

[圣思园][Java SE]Reflection
[圣思园][Java SE]Reflection[圣思园][Java SE]Reflection
[圣思园][Java SE]ReflectionArBing Xie
 
[圣思园][Java SE]Java se lesson 9
[圣思园][Java SE]Java se lesson 9[圣思园][Java SE]Java se lesson 9
[圣思园][Java SE]Java se lesson 9ArBing Xie
 
2011中正資管學術部講座 Java-Object
2011中正資管學術部講座 Java-Object2011中正資管學術部講座 Java-Object
2011中正資管學術部講座 Java-ObjectVeck Hsiao
 
ClassLoader简析
ClassLoader简析ClassLoader简析
ClassLoader简析wavefly
 
Java类加载器
Java类加载器Java类加载器
Java类加载器Fu Cheng
 
Python面向对象开发基础篇
Python面向对象开发基础篇Python面向对象开发基础篇
Python面向对象开发基础篇modou li
 
2, object oriented programming
2, object oriented programming2, object oriented programming
2, object oriented programmingted-xu
 
如何在 Java App 中導入 Scala
如何在 Java App 中導入 Scala如何在 Java App 中導入 Scala
如何在 Java App 中導入 Scalajavatwo2011
 
8. 常用標準API
8. 常用標準API8. 常用標準API
8. 常用標準APIJustin Lin
 
10, inner classes
10, inner classes10, inner classes
10, inner classested-xu
 

Similar to Java SE 8 技術手冊第 17 章 - 反射與類別載入器 (11)

[圣思园][Java SE]Reflection
[圣思园][Java SE]Reflection[圣思园][Java SE]Reflection
[圣思园][Java SE]Reflection
 
[圣思园][Java SE]Java se lesson 9
[圣思园][Java SE]Java se lesson 9[圣思园][Java SE]Java se lesson 9
[圣思园][Java SE]Java se lesson 9
 
2011中正資管學術部講座 Java-Object
2011中正資管學術部講座 Java-Object2011中正資管學術部講座 Java-Object
2011中正資管學術部講座 Java-Object
 
ClassLoader简析
ClassLoader简析ClassLoader简析
ClassLoader简析
 
Java类加载器
Java类加载器Java类加载器
Java类加载器
 
Python面向对象开发基础篇
Python面向对象开发基础篇Python面向对象开发基础篇
Python面向对象开发基础篇
 
2, object oriented programming
2, object oriented programming2, object oriented programming
2, object oriented programming
 
Sun java
Sun javaSun java
Sun java
 
如何在 Java App 中導入 Scala
如何在 Java App 中導入 Scala如何在 Java App 中導入 Scala
如何在 Java App 中導入 Scala
 
8. 常用標準API
8. 常用標準API8. 常用標準API
8. 常用標準API
 
10, inner classes
10, inner classes10, inner classes
10, inner classes
 

More from Justin Lin

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring BootJustin Lin
 
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityJustin Lin
 
Ch12 Spring 起步走
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走Justin Lin
 
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMailJustin Lin
 
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Justin Lin
 
Ch09 整合資料庫
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫Justin Lin
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤Justin Lin
 
Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTLJustin Lin
 
Ch06 使用 JSP
Ch06 使用 JSPCh06 使用 JSP
Ch06 使用 JSPJustin Lin
 
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器Justin Lin
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理Justin Lin
 
Ch03 請求與回應
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應Justin Lin
 
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletCh02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletJustin Lin
 
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式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
 
7. 例外處理
7. 例外處理7. 例外處理
7. 例外處理Justin Lin
 

More from Justin Lin (20)

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring Boot
 
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
 
Ch12 Spring 起步走
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走
 
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
 
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
 
Ch09 整合資料庫
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
 
Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTL
 
Ch06 使用 JSP
Ch06 使用 JSPCh06 使用 JSP
Ch06 使用 JSP
 
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
 
Ch03 請求與回應
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應
 
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletCh02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
 
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
 
13.並行、平行與非同步
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步
 
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
 
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
 
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
 
7. 例外處理
7. 例外處理7. 例外處理
7. 例外處理
 

Java SE 8 技術手冊第 17 章 - 反射與類別載入器