所有項目

2011年5月16日 星期一

5月15號上課,216~233。

No.216(我遲到所以不知道老師怎麼解釋的)
這題還蠻簡單的,因為陣列會從0開始計算。
x{1,2,3,4,5}→如果娶x陣列的2的值→就是第三個位子的內容。
因此答案是  "3"



No.217 拖拉題

No.218 (我遲到所以沒有聽到,不敢用我的解說。)

No.219
先解說: " Java 裡有 wait, notify 與 notifyAll 三個方法可以進行"等待空間處理". wait 是"等候", 而notify 與 notifyAll 是"啟動等候中的".詳細資料(http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/WaitNotify.htm)。
這題是在講保證讓foo等待,然後執行bar.wait()。所以看bar.notify(); 或是 bar.notifyAll(),這兩個。bar.notify()是被呼叫、但它不能確保,要確保就得用bar.notifyAll。

No.220 拖拉題

No.221
補充講一下:
"多執行續" 的觀念;它的成員有 Thread [是用繼承關西來運用] 和 Runnable[是介面 實作 run() 這方法]
"匿名類別" :第6行 就是,詳細介紹(http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/InnerClass.htm)
這題的問題是 t.start()兩個,所以他會丟java.lang.IllegalThreadStateException。

No.222 拖拉題

No.223 拖拉題

No.224 這題可以對照 no.221。是多執行續  用介面Runnable 實作 run()。這裡的Threads5是普通的物件,並非是執行續,所以 好不懷疑 的 執行.start()、印出 run() 裡面的 "bar"

No.225
這題要求列印出 1,2,3,4,5,並且是有順序的。
裡面有(執行續、匿名、覆寫)
這題我要怎麼表達自己都想了好久,找問題直接說好了。
原來這題目的話 並不會有順序的列印出。
如果大家仔細看這答案會發覺有兩種解決方式。第一個A配D、第二個C。這兩種都可。B跟E是 跟go()這個相關,可是跟排序並沒有關西。
再來我們看這題目,go 裡面跑一個 for迴圈,會從 0 開始跑 5 次→取 foo()這個的值→再來 印出 因為有 .start。但這樣的話 不會有 排序。

No.226 這題 待訂。

No.227 這題就不多解釋了 因為蠻簡單的,將語法記起來就可以,這是garbage collection 的語法。

No.228 這題目是很基礎的。
以我理解的方式:
我會從main主程式開始看→it跟it2的資料 都呼叫Item→getDescription()就可以得到→Gobstopper 和 Fizzylifting

No.229 先確認

No.230 先待

No.231



No.216(我遲到所以不知道老師怎麼解釋的)
這題還蠻簡單的,因為陣列會從0開始計算。
x{1,2,3,4,5}→如果娶x陣列的2的值→就是第三個位子的內容。
因此答案是  "3"

No.217 拖拉題

No.218 (我遲到所以沒有聽到,不敢用我的解說。)

No.219
先解說: " Java 裡有 wait, notify 與 notifyAll 三個方法可以進行"等待空間處理". wait 是"等候", 而notify 與 notifyAll 是"啟動等候中的".詳細資料(http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/WaitNotify.htm)。
這題是在講保證讓foo等待,然後執行bar.wait()。所以看bar.notify(); 或是 bar.notifyAll(),這兩個。bar.notify()是被呼叫、但它不能確保,要確保就得用bar.notifyAll。

No.220 拖拉題

No.221
補充講一下:
"多執行續" 的觀念;它的成員有 Thread [是用繼承關西來運用] 和 Runnable[是介面 實作 run() 這方法]
"匿名類別" :第6行 就是,詳細介紹(http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/InnerClass.htm)
這題的問題是 t.start()兩個,所以他會丟java.lang.IllegalThreadStateException。

No.222 拖拉題

No.223 拖拉題

No.224 這題可以對照 no.221。是多執行續  用介面Runnable 實作 run()。這裡的Threads5是普通的物件,並非是執行續,所以 好不懷疑 的 執行.start()、印出 run() 裡面的 "bar"

No.225
這題要求列印出 1,2,3,4,5,並且是有順序的。
裡面有(執行續、匿名、覆寫)
這題我要怎麼表達自己都想了好久,找問題直接說好了。
原來這題目的話 並不會有順序的列印出。
如果大家仔細看這答案會發覺有兩種解決方式。第一個A配D、第二個C。這兩種都可。A跟E是 跟go()這個相關,可是跟排序並沒有關西。
再來我們看這題目,go 裡面跑一個 for迴圈,會從 0 開始跑 5 次→取 foo()這個的值→再來 印出 因為有 .start。但這樣的話 不會有 排序。

No.226 這題 待訂。

No.227 這題就不多解釋了 因為蠻簡單的,將語法記起來就可以,這是garbage collection 的語法。

No.228 這題目是很基礎的。
以我理解的方式:
我會從main主程式開始看→it跟it2的資料 都呼叫Item→getDescription()就可以得到→Gobstopper 和 Fizzylifting。

No.229 先確認

No.230 先待


No.231
這題目的重點在於 final 這個關鍵字,我們先了解這個 final 這個東西。
這關鍵字 簡單的說 "給了初始值後就不能改變"並且"final是常數"。
定義 final 可以在 在 宣告時 直接給一個值 或是 在建構子中 做初始化。
這個題目中如果注意會發覺到,final 的 id 在 ItemTest() 初始化、並在 updateId()也做初始化。
理所當然 compila 過不了。

No.232
這題簡單,就先看程式碼,然後這程式碼 有沒有問題。看完你就放心囉!因為沒有陷阱,可以成功編譯。然後就直接看 執行的,for迴圈 1開始、並小於長度 4,這時陣列的 0 的 1 這個值就不會印出,2,3,4這三個值囉。
補充:如果程式吃太多記憶體時在eclipt上設定加大執行的記憶體,因原來的記憶體只有256M左右(這點不確定),用加大的方式可以達 1024M。
設定方法(RUN→RUN→Java Application→Arguments→VM arguments[裡面加入這行 "-mx1024m"]就可)。
No.233
這題目要解前,先要了解什麼是 package 和 classpath。讓我來簡單解說:在程式中看到package時候就可以知道,這就是程式的路徑。classpath 不難了解 那就是"環境變數"。補:package介紹(http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/Package.htm)。所以這題目 仔細的去對 就可以得到答案。




沒有留言:

張貼留言