SCJP筆記 - 1 - 簡介
Sun Certified Programmer for Java 2 Platform 1.4
(CX-310-035) 簡介
以下內容可由下列連結取得最新資訊:
https://www.suntrainingcatalogue.com/eduserv/client/loadCourse.do?coCourseCode=CX-310-035 (中文)
http://www.sun.com/training/catalog/courses/CX-310-035.xml (英文)
價格(NT$)5,000
內容
概要
「Sun Certified Programmer for Java 2 Platform 1.4」認證測驗是針對具備Java程式語言之基礎語法及架構使用經驗者所提供的 本認證適用於Java 2平台。
Details
Delivered at: Prometric授權考試中心
Prerequisites: 6-12 months of experience
Other exams/assignments required for this certification: 無
Exam type: 複選題與簡答題
Number of questions: 61
Pass score: 52% (61個問題中的32個問題)
Time limit: 120分鐘
語言
英文版
Chinese (Traditional)
Chinese (Simplified)
法文版
德文版
義大利文版
日文版
韓文版
Spanish (neutral)
學習資格
6-12 months of experience
測驗目的
第1部分:宣告及存取控制
- 使用任何允許使用於宣告及初始化的形式,撰寫宣告、架構及初始化任何基本類型陣列的程式碼。
- 宣告類別、巢狀類別、方法、實例變數、靜態變數及自動(method local)變數,正確使用所有允許的修飾子 (例如public、final、static、abstract等)。敘述上述修飾子單獨及組合時的意義,並敘述套件關係在由上述修飾子賦予資格的已宣告項目上的效果。
- 根據給定的類別,判斷是否將建立預設的建構元,如果是,敘述該建構元的原型。
- 識別在此或父代類別中所有相關方法的宣告,所賦予之任何方法的合法傳回類型。
第2部分:流程控制、斷言及例外處理
- 使用if及switch陳述式撰寫程式碼,並識別上述陳述式的合法引數類型。
- 使用所有迴圈形式撰寫程式碼,包括使用labeled與unlabeled的break及continue,並敘述在迴圈執行中及執行後,迴圈控制變數所接收的值。
- 撰寫正確利用例外及例外處理子句(try、catch、finally)的程式碼,並宣告丟出例外的方法與改寫方法。
- 確認在程式碼片段中的特定點所發生之例外的效果。附註:此例外可能是執行時期例外、checked例外或是一項錯誤(程式碼的任何合法的組合中可能包括try、catch或finally子句)。
- 撰寫正確利用斷言(assertion)的程式碼,並區別斷言的正確與不正確用法之間的差別。
- 指出有關斷言機制的正確敘述。
第3部分:垃圾收集
- 敘述由垃圾收集系統所保證的行為。
- 撰寫明確使物件符合垃圾收集規定的程式碼。
- 確認在一段原始程式碼中的某個點,某物件在該點成為合法可供垃圾收集。
第4部分:語言基本原理
- 正確識別架構化套件宣告、import陳述式、class宣告(所有形式,包括內部類別)、介面宣告及實作(java.lang.Runnable或在測試中描述的其他介面)、方法宣告(包括用於開始執行類別的main方法)、變數宣告及標示符(identifier)。
- 識別正確實作介面的類別,其中的介面可以是java.lang.Runnable或問題中完整指定的介面。
- 敘述傳遞至main方法的引數中的索引值與命令列引數之間的一致性。
- 識別所有Java程式語言關鍵字。附註:有關關鍵字與manifest常數之間的差異,應該沒有任何問題。
- 敘述當沒有明確指定時,使用任何種類的變數或陣列元素的效果。
- 敘述所有基本(primitive)格式、資料類型的範圍並宣告使用所有允許的格式、基礎及呈現方式,宣告字串及所有基本類型的literal value。
第5部分:運算子及指派
- 判斷套用任何運算子的結果,包括指派運算子,以及各種類型、類別、範圍或可存取性或上述任何組合的實例、運算元。
- 判斷套用布林相等(Object)方法至任何類別組件之物件的結果,物件包括包括java.lang.String、java.lang、Boolean及java.lang.Object。
- 在一個包含運算子&、、&&、及已知值變數的表示式中,敘述被評估的是那個運算元,以及表示式的值。
- 判斷當物件及傳遞變數至方法的primitive值以及執行指派或在方法中的其他修改操作的效果。 第6部分:過載(Overloading)、覆寫(Overriding)、執行期間類別及物件導向
- 敘述封裝在物件導向設計中的優點,並撰寫實作封裝類別的程式碼,以及「is a」與「has a」的關係。
- 撰寫呼叫覆寫或過載方法及parental或過載建構元的程式碼,並描述呼叫上述方法的效果。
- 撰寫建構任何實體類別之實例的程式碼,包括一般頂層類別及巢狀類別。
第7部分:執行緒
- 使用java.lang.Thread及java.lang.Runnable撰寫程式碼以定義、instantiate及開始新的執行緒。
- 識別可能會造成執行緒無法執行的情況。
- 使用同步的wait、notify或notifyAll撰寫程式碼,以保護避免發生同時存取的問題,並在執行緒之間進行通訊。
- 定義當執行同步的wait、notify或notifyAll時,執行緒之間以及執行緒與物件鎖定之間的互動。
第8部分:java.lang套件中的基本類別
- 使用java.lang.Math類別的下列方法撰寫程式碼:abs、ceil、floor、max、min、random、round、sin、cos、tan及sqrt。
- 描述字串物件的不變性的重要性。
- 描述包裝類別的重要性,包括正確選擇wrapper類別以符合特定的行為需求,敘述執行包含warpper類別之實例的程式碼片段,並使用下列wrapper類別的方法撰寫程式碼(例如,Integer、Double等):
o doubleValue
o floatValue
o intValue
o longValue
o parseXxx
o getXxx
o toString
o toHexString
第9部分:收集基礎架構
- 選擇適當的collection類別/介面以符合特定的行為需求。
- 辨別hashcode方法的正確與錯誤實作。