Oracle 併購了昇陽公司之後,可能覺得 Java SE 的版本太久沒更新,不管怎樣先出了 Java SE 7 再說。又可能覺得 SCJP 考試門檻太低,不符合企業形象 (我就是要難要貴),就著手將考試弄得更困難,連設計樣式 (Design Pattern), JDBC 這些軟體設計與進階技術都拿來考。
對於從未拿到 SCJP 或 OCPJP 的人來說,需要考兩個階段的考試,而第二階段的考試題目預計 2012 年初才要推出 (也快了吧,所以 OCP, Java SE 6 Programmer 的考題恐怕也會一併換新),而考過第一階段的考試也只能拿到入門款的證照 (Associate Level),還不能自稱是專家 (Professional Level)。
不過如果考到 OCP, Java SE 6 Programmer 的同學,可以再透過升級考試拿到 Java SE 7。
底下列出官方的考試範圍:
語言改善的部分:
- 可在 switch 使用 String
- 可用底線改善數字的可讀性
- 新增的 try-with-resources 語法 (出錯自動歸還資源,不需要使用 finally)
- 在例外處理時,可同時 catch 多種例外類別 (用同樣方式處理例外)
- 泛型的"小耳朵" (<>) 運算子
- 例外處理時,更精準的再丟出 (rethrow)
設計樣式:
- 使用 Singleton 樣式設計類別
- 判斷何時及如何組合多種類別 (而不用繼承) 來解決企業需求
- 實作 DAO (O/R Mapping) 樣式
- 使用 Factory 樣式設計類別
使用 JDBC 進行資料庫程式設計:
- 描述 JDBC 的 API
- 辨認要用哪個 Java 敘述句來連接資料庫
- 會用 RowSetProvider, RowSetFactory, 和 RowSet 介面
- 會用 JDBC 來進行交易處理
- 會用 JDBC API 來提出 queries 並讀取傳回資料
- 會用 PreparedStatement 和 CallableStatement
同時多工 (Concurrency)
- 辨認潛在的執行緒問題
- 會用 java.util.concurrent 集合
- 會用"單元"變數和鎖定
- 會用 Executors 和 ThreadPools
- 會用平行 Fork/Join 框架
本地化 (Localization)
- 描述應用程式本地化的優點
- 定義 locale (當地) 所代表的是甚麼
- 會用 Locale 物件設定"當地"
- 為每個"當地"建立資源包 (resource bundle)
- 從應用程式叫用資源包
- 依據"當地"選用資源包
- 使用 NumberFormat 和 DateFormat 類別將文字格式化成當地格式
File I/O (包括 NIO 2)
- 會用 Path 類別操作檔案及資料夾路徑
- 會用 File 類別檢查、複製或移動檔案或資料夾
- 讀取和修改檔案或資料夾屬性
- 遞迴存取資料夾樹狀結構
- 透過 PathMatcher 類別找到檔案
- 透過 WatchService 監控資料夾或檔案的異動
預計要考證照的同學,即使還沒準備好,也要先上www.vue.com 申請一個帳號,並登記加入 Oracle Certification Program,Oracle 要審核資料並給你一個會員編號,這需要 1-2 天的時間,通過後才可報名考試,所以可以先做。