java面試題目備忘之一

2021-08-30 19:05:41 字數 697 閱讀 7211

1、stringtest

public class stringtest

}

問題1:當類中執行string s = new string("abc");這行**後,在記憶體裡生成幾個物件?他們是什麼?在什麼地方?

答:生成2個物件;首先去string pool查詢有沒「abc」物件,沒有的話,就在池裡面放入abc,接著是new乙個物件,是在堆裡面生成另乙個物件;s是引用,指向堆裡面的物件;

問題2:當執行string s1 = "abc";這行**後,在記憶體裡生成幾個物件?他們是什麼?在什麼地方?

答:乙個物件也沒生成;s1引用string pool裡面的abc。

問題3:當類中執行string s2 = new string("abc");這行**後,在記憶體裡生成幾個物件?他們是什麼?在什麼地方?

答:生成乙個物件,首先是在string pool查詢,發現有「abc」,就不生成,接著在堆裡面生成乙個物件;s2指向堆裡的「abc」

執行完前三行語句,記憶體乙個有三個物件,乙個池裡面的,兩個堆裡面的;

問題4:system.out.println(s == s1);

system.out.println(s == s2);

system.out.println(s1 == s2);

分別輸出什麼?

intern如果pool存在,則指向它;

Java面試題目之備忘八

請問arraylist,linkedlist以及vector的區別?1 arraylist底層實際是採用陣列實現的 並且該陣列的型別是object型別的 2 如果是jdk6的話,採用array.of 方法來生成乙個新的陣列,如果是jdk5.0,使用的是system.arraycopy 方法 3 li...

Java面試題目之備忘十二

public class threadtester catch interruptedexception e t2.start class c catch interruptedexception e system.out.println hello public synchronized void...

Java面試題目之備忘十四

1 關於httpservlt中的service,doget,dopost方法的關係 首先客戶端提交乙個請求,該請求一定是首先到達了service方法,然後service方法根據請求中的引數內容是get,還是post 或者其他方式來決定到底是呼叫doget,還是dopost,還是其他的do方法。2 請...