2007年3月10日

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方法的正確與錯誤實作。

2007年3月9日

冒痘痘的位置與健康訊息

冒痘痘的位置可能顯示出身體的警訊

額頭:代表心火旺、血液循環有問題,可能是過於勞心傷神。這類的人脾氣較不好,應養成早睡早起的習慣,睡眠充足,並多喝水。

鼻子:如果長在鼻樑,代表脊椎骨可能出現問題;如果是長在鼻頭處,可能是胃火大、消化系統異常;若在鼻頭兩側,就可能跟卵巢機能或生殖系統有關。
下巴:表示腎功能受損或內分泌系統失調。女生容易在下巴周圍長痘痘的可能是月事不順所引起的。

左邊臉頰:可能是肝功能不順暢,如肝臟的分泌、解毒或造血等功能出了狀況。

右邊臉頰:可能是肺部功能失常。

2007年3月8日

SCJP 考試心得 - SCJP 考照心得分享 + 重點提示

[本文作者] Cheng-Lin Yang / myth.twbbs.org s0170154@cs.mcu.edu.tw
BBS ID: yuwen (myth.twbbs.org)

[參考書籍]
Sun Certified Programmer & Developer for Java 2 Study Guide. (EXAMS 310-035 & 310-027) Authors: Kathy Sierra, Bert Bates ISBN: 0-07-222684-6 售價: 1700 (台北天瓏書局會員價1530) 如果你英文閱讀能力不差的話, 非常推薦這本書, 作者講解的非常的清楚, 書中的範例也很多, 最重要的是, 作者文筆十分幽默, 在你唸的很煩躁的時候, 常常會因為他在段落中的文字而會心一笑, 甚至他直接在文中鼓勵你. 唸了不 少關於電腦的原文書, 這本是我唸過作者最風趣的一本.
[時間安排]
建議找一個跟你志同道合的同學一起報考, 好處是有問題可以互相討論, 也可以彼此督促進度, 彼此鼓勵加油. 一個人讀很容易因為遇到瓶頸就放棄. 以下是我跟我同學之前考試所排的時程表:
Week 1: Chapter 1, Chapter 2
Week 2: Chapter 3, Chapter 4
Week 3: Chapter 5, Chapter 6
Week 4: Chapter 7, Chapter 8, Chapter 9, 報名, 複習
Week 5: 參加測驗 此處Chapter編排是按照上面所推薦的那本書為例. 他們分別是: Chapter 1: Language Fundamentals
Chapter 2: Declarations and Access Control
Chapter 3: Operators and Assignments
Chapter 4: Flow Control, Exceptions, and Assertions
Chapter 5: Object Orientation, Overloading and Overriding, Constructors, and Return Types
Chapter 6: Java.lang -- The Math Class, Strings, and Wrappers
Chapter 7: Objects and Collections
Chapter 8: Inner Classes Chapter 9: Threads 你也許會覺得奇怪怎麼Week 4會多唸一章, 這樣不會太多嗎? 其實不會的, 因為第八章Inner Classes的量很少, 觀念跟第二章有許多重疊, 所以不會加重你在 Week 4的壓力. 另外如果你仔細看上面的章節你會發現, 怎麼都沒有考GUI的 部分還有I/O跑到哪去了? 沒錯, 在SCJP 1.4中已經不考awt, swing, I/O的部分.
[關於考試]
測驗時間兩小時又十五分鐘, 電腦作答, 可以提早交卷, 有單選題, 複選 題, 填充題. 如果是複選題他會告訴你有幾個是正確(或是錯誤). 所以放輕鬆, 比大學聯考簡單多了..至少他答錯不會倒扣. 考題可以選擇中文或是英文, 不過聽考過中文版的人說, 翻譯似乎翻的不 太好, 所以還是建議考英文版的, 雖然中文版的有一個選項能看英文的題目. 一共有61題, 答對32題 (52%)就算過關. 交卷後只會有成績單告訴你答對 幾題, 是否有過關, 上面不會註明你哪幾題錯誤, 只會告訴你你在某個領域答 對多少percent. 也不會註明你選擇的考題是中文還是英文.
[準備過程]
我們是在每個禮拜中約定兩天(二跟五)一起討論, 每次見面討論一章, 先從 頭到尾將該章節run過一次, 彼此提醒對方該注意的地方, 這很有用, 很容易發現自己所遺漏的小地方. 等整個章節都run過一次後, 就可以寫該書每章節後面所附的Self Test. 每章的題目大概20題, 量不是很多, 所以建議一定要寫過一次, 然後彼此交換對答案, 自己對答案的缺點是會不小心把答案記起來, 那就失去寫題目的意義, 所以等對完答案, 將自己錯的題目再想一次, 效果會相當不錯. 另外還有一點要注意的是, 請記得在讀每一章之前先去check一下該書的勘誤表, 這本書的唯一小缺點就是勘誤的地方不少, 所以讀之前記得先改過來, 不然一旦把錯誤的觀念當成正確的觀念背起來, 之後要改不是那麼簡單的.該書勘誤表的網址是:http://www.osborne.com/products/0072226846/0072226846_errata.txt [各章節重點提要]
這篇各章節的重點提示是我自己排的, 跟該書會有點出入. 不過一定是 在該章節裡面.
Chapter 1:
1.1 分辨keywords, 以及記得Java所擁有的Reserve Words
1.2 所有primitive data type的range, 以及他們的default value
1.3 如何宣告一個array. (注意anonymous array的部分, 少見)
1.4 所有primitive data type, array的initialize value
1.5 Main method的宣告法, 以及他的arguments用法
Chapter 2:
2.1 Class如何宣告, 還有分辨所有的modifier.
2.2 Method如何宣告, 還有分辨所有的modifier.
2.3 Package, import的使用法
2.4 如何繼承? access modifier所扮演的角色?
2.5 Abstract, interface class以及他們裡面method如何宣告 (超重要!!)
Chapter 3:
3.1 了解全部的operator
3.2 Bitwie operator要會運算.
3.3 搞清楚Short-Circuit logical Operator跟 Logical Operator的差異 (重要!!)
3.4 參數在method如何傳遞.
Chapter 4:
4.1 了解所有迴圈以及判斷式的用法.
4.2 認清break, continue如何運作.
4.3 Labeled 以及 Unlabeled statments的用法
4.4 Exception如何去handle.
4.5 try/catch/finally 如何運作 (超重要!)
4.6 Assertion的機制! (必看必考! 1.4新的東西.保證考!!)
Chapter 5:
5.1 要會判斷一個class有沒有Encapsulation
5.2 如何overload一個method, 規則是? (重要!必考)
5.3 如何override一個method, 規則是? (重要!必考)
5.4 什麼是constructor? 要怎麼宣告?
5.5 當一個物件產生時呼叫constructor的順序是?
5.6 什麼時候compiler會給你default constructor?
Chapter 6:
6.1 String跟StringBuffer的差異?
6.2 String a = "abc" 跟 String a = new String("abc")差在哪?
6.3 String/StringBuffer一些重要的methond要搞清楚
6.4 java.lang.Math中重要的methods, 要會算. (注意負數的運算!)
6.5 什麼是Wrapper Class?他們所含的重要method (重要!必考!)
6.6 == 跟 equals的差異?
Chapter 7:
7.1 如何override equal/hashcode method?
7.2 equals 跟hashcode之間的關係 (重要!必考!)
7.3 什麼是Collection? List, Set, Map的特質是什麼?
7.4 JVM的Garbage Collector如何運作?
7.5 符合被收走一個object的條件? (重要!必考!)
7.6Finaliaze被呼叫的時機
Chapter 8:
8.1 如何宣告一個Inner Class? 他跟outer class如何互動?
8.2 Method-Local Inner Class需要注意的地方?
8.3 Anonymous Inner Class如何使用 (少見!要看)
8.4 Static Inner Class的性質, 以及需要注意的地方. (重要!必考!)
Chapter 9:
9.1 如何宣告一個Thread? extends Thread or implements Runnable?
9.2 如何使用Synchronized method?
9.3 如何只Synchronized一個block的code.
9.4 Thread之間如何做互動 (interaction)
9.5 了解Thread提供的method, 如何用! (重要!必考!)
9.6 wait, notify, notifyAll 使用時機? 如何使用? (重要!必考!)
[如何複習]
我們在week 4最後兩天密集式的複習, 先把參考書籍每個章節後面所附的"Two-Minute Drill"看過一次, 有發現忘記或是遺漏的地方, 馬上翻到前面補 強, 然後把每章節的Self Test自己錯過的題目再看一次. 別忘了, 每一章節中所提到的"Exam Watch"一定要再翻過一次, 這是這本 書最精采的地方, 他會很清楚的告訴你, 容易被誤導的陷阱! 複習的時候千萬 不要忘了這裡! 這樣還稍顯不足, 我們又寫了四份的模擬試題, 用以發現自己的盲點, 這 非常有用, 強烈建議一定要寫過幾份, 熟悉一下考題的感覺, 以及答題的技巧. 尤其是有幾份考題中的幾題都出現在正式考試. 所以多做無害. /* 如果你需要我所做的幾份題目, 請mail給我 */
[如何報名]
其實很簡單, 首先呢你需要排定你所要的考試時間, 基本上我建議是在 第五週的第一天, 越接近你複習那天越好, 這樣記憶猶新比較有利, 確定日 期後請在你所決定的考試日期前三天先去http://www.2test.com/註冊一個 帳號. 然後請在Week 4的第一天打電話去巨匠電腦購買SCJP考試卷, 你一定 要有這張卷你才能登記考試, 基本上他們是沒有現貨你可以請他幫你訂, 可 是記得跟他們說一定要在考試前三天給你..否則你考試日期就得延後, 因為 考場登記須在三天前登記. 為什麼要跟巨匠電腦買? 其實是因為我的家人有人有他的白金卡, 利用 他的白金卡買考試券只要4800, 如果直接跟台灣Sun買的話要5000.如此而已. 別以為我幫巨匠電腦打廣告. 等你拿到卷後,一樣到http://www.2test.com/這個網站, login後就可以 登記你要的考試日期跟時間, 選擇好後, 將你考試券上面的號碼就完成手續. 如果一切順利, 你會馬上收到一封確認的信. 另外, 在報名的時候, 你可以選擇你要在哪個考場考, 我是選擇在資策會 台北教育中心考, 因為交通方便, 就在捷運大安站出口, 所以選個你方便的考 場即可.
[考試當天]
記得攜帶身分證跟考試券, 在你選定考試時間前30分鐘到場報到, 然後準 備一下心情就進去考了. 基本上考場是一個小房間, 格成一格一格的, 環境很 安靜不會被外界打擾, 在考試前他會要求你做兩份問卷, 一份是關於考場相關 的調查, 一份是要求你自我評估, 別擔心這跟之後電腦選題沒有關係, 所以 快速把他點完就開始考了. 兩個小時又十五分鐘!

SCJP 考試心得 - SCJP 1.4 認證概況

若渝
SCJP 1.4 認證概況 (Sun Certified Programmer for Java 2 Platform 1.4)

九月初我去考了 SCJP 1.4我對 Java 所知不多只是運氣好通過 SCJP 1.4 的認證考了 77% 分 及格的分數是 52%如果有機會 從事教學的工作是我很想嘗試的與大家分享一下考試概況考 120 分鐘 60 題 英文試題Assertion 三題 Garbage collection 三題這六題是比較難的 我大概都不會
Thread 是關鍵 題目很多 又有點難 大概有八題到十題如何用 join() wait() notify() sleep() ... 都很重要其他的試題應該就比較容易String 大概有 5, 6 題Exception Handling 大概有 5, 6 題Inner class 大概有 5, 6 題Flow Control, Array, override & overload,Operator & assignment, Math, Object Orientation,Declarations, Access Control, Collections這些大概各有 3, 4 題吧Collections 的繼承關係圖要記Math 基本 function 的 interface 要記Object 的 equals(), finalize(), hashCode(), notify(),notifyAll(), wait(), wait(long timeout) 都蠻重要的我在一個月前買了一本 "SCJP 認證專家系列:Java 2 學習指南"定價:790 元 厚厚的一本書內容很完整 可是書中的試題比較容易大概在兩個星期前 收到了一位朋友整理的光碟做了光碟上的試題才知道 那本書的試題太容易了網路上有三份 Mock exam:http://www.jchq.net/mockexams/exam1.htm
http://www.jchq.net/mockexams/exam2.htm
http://www.jchq.net/mockexams/exam3.htm
我是在考前兩三天看的exam3 最難 不過最有價值考試的當天及前一天很重要我在考前一天及考試當天的早上把 "SCJP 認證專家系列:Java 2 學習指南"複習一遍做了 http://www.jchq.net/mockexams/exam2.htm考試當天(在火車上) 複習了一遍很難得有座位可以坐
http://www.jchq.net/mockexams/exam1.htm
http://www.jchq.net/mockexams/exam3.htm
及另外一本 之前看過的 Java 入門書"Java 2 全方位學習"考前一天及考試當天的用功對於我這樣沒什麼實力的人來說很重要(兩個月前才開始學 Java)估計可以提昇 15% ~ 20% 的成績Java 是很美的程式語言一個很值得學習的語言
Java 的初學者 /*_若渝_*/

2007年3月7日

利用 Google 突破各種封鎖來下載你要的東西

Author: yingyu0702
利用 Google 突破各種封鎖來下載你要的東西
http://www.google.com.tw/search?hl=zh-TW&q=index+of+mp3
首先打開Google,在關鍵詞輸入框中輸入"index of/"inurl:lib(雙引號為英文狀態下),選擇“搜索簡體中文網頁”選項,回車搜索,得到了一些網頁,不要以為這是一些普通的頁面,其實它們是一些圖書網站的資源列表,點擊打開它來看看,怎麼樣?是不是所有資源一收眼底了?

使用其他關鍵字可能得到更多的資源
在搜索框上輸入:"index of /"cnki
再按搜索你就可以找到許多圖書館的CNKI、VIP、超星等入口!
在搜索框上輸入:"index of /" ppt
再按搜索你就可以突破網站入口下載powerpint作品
在搜索框上輸入:"index of /"mp3
再按搜索你就可以突破網站入口下載mp3、rm等影視作品
在搜索框上輸入:"index of /"swf
再按搜索你就可以突破網站入口下載flash作品
在搜索框上輸入:"index of /"加上要下載的軟體名

再按搜索你就可以突破網站入口下載軟體
到這裡,大家也許都明白了,其實就是"index of /"這個關鍵詞在起的作用,使用它可以直接進入網站首頁下的所有文件和文件夾中,不必在通過HTTP的網頁形式了,從而避免了那些網站的限制,作到了突破限制下載

在搜索框上輸入:"index of/ "inurl:lib
再按搜索你將進入許多圖書館,並且一定能下載自己喜歡的書籍。

在搜索框上輸入: "index of /"cnki
再按搜索你就可以找到許多圖書館的CNKI、VIP、超星等入口!

在搜索框上輸入: "index of /"ppt
再按搜索你就可以突破網站入口下載powerpint作品!

在搜索框上輸入: "index of /"mp3
再按搜索你就可以突破網站入口下載mp3、rm等影視作品!

在搜索框上輸入: "index of /"swf
再按搜索你就可以突破網站入口下載flash作品!

在搜索框上輸入: "index of /"要下載的軟件名
再按搜索你就可以突破網站入口下載軟件!

注意引號應是英文的!

再透露一下,如果你輸入:
"index of /"AVI (或 mpg, rm)

會出現什麼呢??