2012年3月30日 星期五

Oracle Certified Professional, Java SE 7 Programmer


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 天的時間,通過後才可報名考試,所以可以先做。