面試中遇到的問題總結 JAVA基礎

2021-09-01 07:41:55 字數 1029 閱讀 2685

1、object物件有哪些方法

wait(),notify(),clone(),equals(),hascode(),tostring(),finalize()

2、多執行緒中wait()和sleep()的區別

最主要是sleep方法沒有釋放鎖,而wait方法釋放了鎖,使得其他執行緒可以使用同步控制塊或者方法;

其次sleep(milliseconds)可以用時間指定來使他自動醒過來,如果時間不到你只能呼叫interreput()來強行打斷;wait()可以用notify()直接喚起.

3、inputstream和reader有什麼區別

reader 用於讀入16位字元(char型別),也就是 unicode編碼的字元;而 inputstream 用於讀入 ascii字元和二進位制資料(byte型別)。

4、list有幾種實現類,他們的區別是什麼

arraylist和linkedlist,區別:arraylist的資料結構是陣列,linkedarray是鍊錶,如果插入和刪除的操作較多,可以考慮用linkedarray,如果是修改或查詢資料,用arraylist比較合適。

5、hashmap與hashtable的區別

1.hashtable是同步的,即執行緒安全的 適合在多執行緒中使用,效率相對低一些

而hashmap是不同步的,效率相對高一些,提倡再單執行緒中使用

2. hashtable中元素的"鍵"和"值"均不允許為null,hashmap則允許

6、string,stringbuffer與stringbuilder的區別

string是不可變的,stringbuffer是可變的,在多個字串連線時stringbuffer比string的效率高,但是對同乙個字串的連線,stringbuffer沒有string效率高。

例如:string s="this is"+" a" +" new"+" string";

stringbuffer執行緒是安全的,所以可以在多執行緒中使用,stringbuilder執行緒不安全,只能在單執行緒中使用;在單執行緒中stringbuilder比stringbuffer效率高

面試中遇到的問題總結

兩個或者兩個以上執行緒在執行過程中,因爭奪資源而產生互相等待的現象,若無外力作用,他們都將無法推進下去,此時,稱系統處於死鎖。四個條件,互斥,請求保持,不可剝奪,環路等待。破壞任一條件即可 預防破壞請求保持,程序必須一次申請所有需要的資源。資源分層,破壞環路等待。避免是在程序每次申請資源時判斷是否是...

面試中遇到的問題

ado activex data objects 是乙個用於訪問資料來源的 com元件 應用程式介面 應用程式和底層軟體互動控制的聯絡方法 超文字置標語言 英文 hypertext markup language 簡稱為 html 什麼是 超檔案傳輸協議 是網際網路上應用最為廣泛的一種網路傳輸協議。...

面試中遇到的問題

ado activex data objects 是乙個用於訪問資料來源的 com元件 應用程式介面 應用程式和底層軟體互動控制的聯絡方法 超文字置標語言 英文 hypertext markup language 簡稱為 html 什麼是 超檔案傳輸協議 是網際網路上應用最為廣泛的一種網路傳輸協議。...