一些面試題(關於string的)

2021-08-09 14:47:03 字數 984 閱讀 1281

一些常見的面試題:

string a = "hello2";

string b = "hello" + 2;

system.out.println(a == b);

a == b輸出true。很明顯b在編譯時就被優化成「hello2」,因此在執行期間,a和b指向的是統一物件

string a = "hello2";

string b = "hello";

string c = b + 2;

system.out.println(a == c);

a==c輸出false,因為b是變數,不會在編譯期間被優化,不會把 b + 2當成字元常量來處理的。這種情況生成的物件實際上儲存在堆上。

string a = "hello2";

final string b = "hello";

string c = b + 2;

system.out.println(a == c);

輸出:true。被final修飾的變數,會在class檔案常量池中儲存乙個副本。那麼b + 2在編譯期間會被優化成」hello」 + 2。也可以把final修飾的變數看做常量。

public

class main

public

static string gethello()

}

輸出:false。因為b雖然是final變數,但是由於其賦值只能在執行期間確定。

public

class main

}

輸出:false,false,false,true

intern方法是乙個本地方法,會在執行時常量池中查詢是否存在內容相同的字串,如果有則返回該物件的引用;如果沒有,則將該字串入池,並且返回該物件的引用,所以是true。

關於JDBC的一些面試題

1.statement prestatement有什麼區別 解答 後者的效率比前者高,在使用preparedstatement物件執行sql命令時,命令被資料庫進行編譯和解析,然後被放到命令緩衝區。然後,每當執行同乙個preparedstatement物件時,它就會被再解析一次,但不會被再次編譯。在...

關於redis的一些面試題

一.使用redis有哪些好處?1.速度快,因為資料是存在記憶體中的。2.支援豐富的資料型別,string,list,set,sorted set,hash 3.支援事務,操作都有原子性,也就是對陣列的更改要麼不執行,要麼全部執行。4.豐富的特性 可用於快取,訊息,按key設定過期時間,過期後自動刪除...

關於Shell的一些面試題

shell指令碼 shell指令碼是什麼,是必須的嗎?乙個shell指令碼是乙個文字檔案,包含乙個或多個命令的檔案。作為系統管理員,我們經常使用多個命令來完成一項任務,我們可以新增這些命令在乙個文字檔案 shell指令碼,字尾為.sh 來完成這些日常工作。什麼是預設登入shell?bin bash ...