Posted on 2008-06-12 01:19
leekiang 閱讀(631)
評論(0) 編輯 收藏 所屬分類:
java
1,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
?不對,hash code相同
2,當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?
?某答案: 應該不可以,synchronized用在方法上就是把這個對象鎖死了,在它退出之前別的線程是無法訪問這個對象的,就更不用提它的方法了,
如果是這樣寫
class A {
? String a = "a";
? public void test1(){
??? synchronized(a){
??? ...
??? }
? }
? public void test2(){
? }
}
一個線程訪問test1的時候另一個線程是可以訪問test2的
3? 當一個對象被當作參數傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的
??? 結果,那么這里到底是值傳遞還是引用傳遞?
http://saturn.javaeye.com/blog/82123
傳的是對象的內存地址(String特殊)
一個對象包含四個方面:reference的內存地址、reference的內存內容、對象值的內存地址、對象值的內存內容。
reference指向對象的含義:reference的內存內容即對象值的內存地址。
當對象作為參數被傳送給方法時,傳的不是reference本身,而是reference的內存內容,即對象值的內存地址,方法被調用時,復制一份新的reference,指向傳入的對象值。如果在方法內改變了對象值,那么方法外的對象也即改變了;如果在方法內將方法參數的reference指向新的對象,方法外的reference仍是指向原來的對象,并沒有指向方法內的那個新對象,這時此方法內外參數已經完全失去聯系。
至于是值傳遞還是引用傳遞,就看這兩個詞怎么定義了。
4、冒泡排序
?1. 比較相鄰的兩個數;
?2. 如果左邊的數大,則交換兩個數;
?3. 右移一位,轉1;
?4. 當碰到最近一個排定的數后,返回隊列左端重新開始下一趟排序。直到所以數都排定。
5、選擇排序
?? 1. 掃描全部數據一趟,將最小值與第0個位置上的數據交換;
?? 2. 掃描除第0個位置外的剩下數據,將最小值與第1個位置上的數據交換;
? ?3. 依此類推,直至全部數據排列有序。
?
6、插入排序
?? ?從數組下標為1的數據開始,依次將其與自身左邊的全部或部分數據(部分有序序列)進
??? ?行比較,并插入到適當的位置,使得插入后的序列依然保持部分有序。直至操作完最后一個數
?據為止
7,Set里的元素是不能重復的,那么用什么方法來區分重復與否呢? 是用==還是equals()? 它們
??? 有何區別?
8,寫程序用pop3收取gmail的郵件
??做一個線程,每15分鐘檢查一次郵箱,收取郵箱的郵件,并解碼后將標題顯示出來
9,一個公司,開始只有3名員工,開始員工年薪2萬,以后每下一年年初新招2名,初始工資同上。此公司員工工資年遞增10%,??員工工資達到5萬后,工資漲幅全部統一為8%.????
問題:??統計公司二十年內每年支付給所有員工的工資額度.?
http://blueocean.javaeye.com/blog/101456
10,如果要設計一個圖形系統,請你設計基本的圖形元件(Point,Line,Rectangle,Triangle)的簡單實現
http://www.tkk7.com/bibi/archive/2006/07/18/58701.html
11,有一棟十層樓的樓,在每個電梯門口放上一顆鉆石,這些鉆石的大小不同,一人坐電梯從一樓,電梯每到一層樓都開一次門,而且這個人能準確的分辨鉆石的大小,請問怎么樣能拿到最大的鉆石,只有一次機會(就是出了電梯門就進不來了)
12,請估計廣州中信大廈是否堅固,寫出推理過程。?
?? 或請估計香港東方明珠電視塔的質量。
13,
? String str1 = "abc";
??String str2 = "abc";
??System.out.println(str1==str2); //true ,此時"abc"放在棧中
?
??String str3 =new String ("abc");
??String str4 =new String ("abc");
??System.out.println(str3==str4); // false ,此時"abe"放在堆中
? java中堆和棧的區別見http://www.tkk7.com/fullfocus/archive/2007/10/28/156485.html
14,線程池? jdk5自帶
http://blog.csdn.net/imicro/archive/2007/08/29/1763955.aspx
當一個Web服務器接受到大量短小線程的請求時,使用線程池技術是非常合適的,它可以大大減少線程的創建和銷毀次數,提高服務器的工作效率。但如果線程要
求的運行時間比較長,此時線程的運行時間比創建時間要長得多,單靠減少創建時間對系統效率的提高不明顯,此時就不適合應用線程池技術,需要借助其它的技術
來提高服務器的服務效率。