SCJP 1.6版考題 228

出自 陳富國維基館
於 2013年3月27日 (三) 16:34 由 Ikk (對話 | 貢獻) 所做的修訂 (新頁面: <br> Which three will compile and run without exception? (Choose three.)       A. private synchronized Object o; <br>   B. void go(){ <br>  &...)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
前往: 導覽搜尋


 Which three will compile and run without exception? (Choose three.)   

   A. private synchronized Object o;
   B. void go(){
                synchronized(){/* code here */}
  C. public synchronized void go(){/* code here */}
  D. private synchronized(this) void go(){/* code here */}
  E. void go(){
                synchronized(Object.class){/* code here */}
  F. void go(){
               Object o = new Object();
                synchronized(o){/* code here */}




解答


Ans: CEF

解說: 此題問那三個將會編繹與無例外的執行?同步關鍵字synchronized可以對整個方法做同步,         如C,也可以對一個區塊的程式做同步,        如E/F (要指定要取得的那個物件的lock)

註:E應該是錯的,在Object類別中並沒有class這個變數,有可能這題在流傳時,出了一些問題,但,回答時還是以給的答案回。