Java Tiger 認證
外觀
| 一位 Wikibookian 認為此頁面應該拆分為具有更窄子主題的較小頁面。 您可以透過將此大頁面拆分為較小的頁面來提供幫助。請確保遵循命名策略。將書籍分成較小的部分可以提供更多重點,並允許每個部分都能做好一件事,這對每個人都有利。 |
本書的目的是幫助那些想要成為 Java 5.0(Tiger)版本認證 Java 程式設計師的人。官方考試名稱為“Sun 認證 Java 2 平臺標準版 5.0 程式設計師”(CX-310-055)。使用升級測試 CX-310-056 從舊認證升級的人員也可以使用本書。
我們將嚴格遵循 Sun 在此考試官方網站上列出的程式(請參閱參考文獻)。
對於那些瞭解 Java 但不瞭解 5.0 版本的人,我們推薦這篇 Sun 文章:J2SE 5.0 概覽。對於那些剛剛接觸 Java 技術的人,請考慮在網路上搜索初學者的作品。
下面的 *考試目標* 來自 Sun CX-310-055(56) 考試頁面,並將指導我們。
- 開發宣告類(包括抽象類和所有形式的巢狀類)、介面和列舉的程式碼,幷包含包和匯入語句(包括靜態匯入)的適當使用。
- 開發宣告、初始化和使用基本型別、陣列、列舉和物件作為靜態、例項和區域性變數的程式碼。此外,為變數名稱使用合法的識別符號。
- 開發宣告靜態和非靜態方法的程式碼,並在適當情況下使用符合 JavaBeans 命名標準的方法名。此外,開發宣告和使用可變長度引數列表的程式碼。
- 給定一個程式碼示例,確定一個方法是否正確地覆蓋或過載了另一個方法,並識別該方法的合法返回值(包括協變返回)。
- 給定一組類和超類,為一個或多個類開發建構函式。給定一個類宣告,確定是否會建立預設建構函式,如果建立,則確定該建構函式的行為。給定一個巢狀或非巢狀類列表,編寫程式碼來例項化該類。
- 開發實現 if 或 switch 語句的程式碼;並識別這些語句的合法引數型別。
- 開發實現所有形式的迴圈和迭代器的程式碼,包括使用 for、增強型 for 迴圈(for-each)、do、while、標籤、break 和 continue;並解釋迴圈執行期間和之後迴圈計數器變數所取的值。
- 開發使用異常和異常處理子句(try、catch、finally)的程式碼,並宣告丟擲異常的方法和覆蓋方法。
- 識別將導致丟擲以下任何一個的情況:ArrayIndexOutOfBoundsException、ClassCastException、IllegalArgumentException、IllegalStateException、NullPointerException、NumberFormatException、AssertionError、ExceptionInInitializerError、StackOverflowError 或 NoClassDefFoundError。瞭解其中哪些是由虛擬機器丟擲的,並識別在其中應該以程式設計方式丟擲其他異常的情況。
- 開發使用基本型別包裝類(如 Boolean、Character、Double、Integer 等)和/或自動裝箱和拆箱的程式碼。討論 String、StringBuilder 和 StringBuffer 類之間的差異。
- 給定一個涉及導航檔案系統、從檔案讀取或寫入檔案的場景,使用以下來自 java.io 的類(有時組合使用)開發正確的解決方案:BufferedReader、BufferedWriter、File、FileReader、FileWriter 和 PrintWriter。
- 開發使用來自 java.io 的以下 API 對物件進行序列化和/或反序列化的程式碼:DataInputStream、DataOutputStream、FileInputStream、FileOutputStream、ObjectInputStream、ObjectOutputStream 和 Serializable。
- 使用 java.text 包中的標準 J2SE API 正確地格式化或解析特定區域設定的日期、數字和貨幣值;並且,給定一個場景,如果要使用預設區域設定或特定區域設定,則確定要使用的適當方法。描述 java.util.Locale 類的用途和用法。
- 編寫使用 java.util 和 java.util.regex 包中的標準 J2SE API 格式化或解析字串或流的程式碼。對於字串,編寫使用 Pattern 和 Matcher 類以及 String.split 方法的程式碼。識別並使用正則表示式模式進行匹配(限於:.(點)、*(星號)、+(加號)、?、\d、\s、\w、[]、())。*、+ 和?的使用將限於貪婪量詞,括號運算子僅用作分組機制,不用於在匹配過程中捕獲內容。對於流,使用 Formatter 和 Scanner 類以及 PrintWriter.format/printf 方法編寫程式碼。識別並在格式字串中使用格式化引數(限於:%b、%c、%d、%f、%s)。
- 編寫程式碼以使用 java.lang.Thread 和 java.lang.Runnable 定義、例項化和啟動新執行緒。
- 識別執行緒可以存在的狀態,並識別執行緒從一個狀態轉換到另一個狀態的方法。
- 開發在類中實現嚴格封裝、松耦合和高內聚的程式碼,並描述其好處。
- 給定一個場景,開發演示多型性用法的程式碼。此外,確定何時需要強制轉換,並識別與物件引用強制轉換相關的編譯器與執行時錯誤。
- 解釋修飾符對繼承的影響,涉及建構函式、例項或靜態變數以及例項或靜態方法。
- 給定一個場景,開發宣告和/或呼叫覆蓋或過載方法以及宣告和/或呼叫超類、覆蓋或過載建構函式的程式碼。
- 給定一個設計場景,確定應使用哪些集合類和/或介面來正確實現該設計,包括 Comparable 介面的使用。
- 編寫使用集合 API 的泛型版本的程式碼,特別是 Set、List 和 Map 介面以及實現類。識別非泛型集合 API 的侷限性以及如何重構程式碼以使用泛型版本。
- 開發在類/介面宣告、例項變數、方法引數和返回型別中正確使用型別引數的程式碼;並編寫泛型方法或使用萬用字元型別的程式碼,並瞭解這兩種方法的異同。
- 使用 java.util 包中的功能編寫程式碼,透過排序、執行二分查詢或將列表轉換為陣列來操作列表。使用 java.util 包中的功能編寫程式碼,透過排序、執行二分查詢或將陣列轉換為列表來運算元組。使用 java.util.Comparator 和 java.lang.Comparable 介面影響列表和陣列的排序。此外,識別基本型別包裝類和 java.lang.String 的“自然排序”對排序的影響。
- 給定一個程式碼示例和一個場景,編寫使用適當的訪問修飾符、包宣告和匯入語句與(透過訪問或繼承)示例中的程式碼互動的程式碼。
- 給定一個部署在 JAR 檔案內部和/或外部的類的完全限定名稱,為該類構造適當的目錄結構。給定一個程式碼示例和一個類路徑,確定類路徑是否允許程式碼成功編譯。
這項工作的最初想法來自巴西東北部的CGJUG(Java使用者組)。CGJUG的一個小組正在學習考試,並決定構建這個專案,這是學習過程的結果。
我們想感謝參與其中的CGJUG成員
並且我們感謝其他將自己視為合作者的人