1.能用foreach遍曆訪問的對象需要實現 ________________介面或聲明________________方法的類型。
答:IEnumerable 、 GetEnumerator。
2.GC是什麼? 為什麼要有GC?
答:GC是垃圾收集器。程式員不用擔心記憶體管理,因為垃圾收集器會自動進行管理。要請求垃圾收集,可以調用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()
http://dev.yesky.com/227/8065727.shtml
http://www.idcnews.net/html/edu/asp/20080408/268811.html
3.String s = new String("xyz");建立了幾個String Object?
答:兩個對象,一個是“xyx”,一個是指向“xyx”的引用對象s。
4.啟動一個線程是用run()還是start()?
答:啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處於可運行狀態,這意味著它可以由JVM調度並執行。這並不意味著線程就
會立即運行。run()方法可以產生必須退出的標誌來停止一個線程。
5.try {}裡有一個return語句,那麼緊跟在這個try後的finally {}裡的code會不會被執行,什麼時候被執行,在return前還是後?
答:會執行,在return前執行。
6.兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
答:不對,有相同的hash code。
7.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
答:switch(expr1)中,expr1是一個整數運算式。因此傳遞給 switch 和 case 語句的參數應該是 int、 short、 char 或者 byte。
long,string 都不能作用於swtich。
8.當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?
不能,一個對象的一個synchronized方法只能由一個線程訪問。
9.abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
答:都不能。