==與equals: 性能
咱們知道,當沒有重寫equals方法時,二者對於引用類型變量而言都表示的是其引用地址,因此是沒有區另的。而"=="在對基本類型數據進行比較 時,是比較的它們的數值大小。 spa
equals()方法則是對於引用類型變量的比較,當兩個引用變量指向堆中不一樣的地址時,equals會對它們各自指向地址內的內容進行取出訪問;例如字符串「Hello」與"hello",則是對它們挨個掃描,如有不一樣,是返回false,若相同返回true; 線程
HashSet:從Set擴展而來,同Set同樣,不可存放重複元素。拿什麼來判斷?hashCode()方法計算出hashCode值,進而進行先後存入的元素是否爲同一元素;其次,調用equals()來對其字符序列驗證,若返回爲false進行存入,不然要麼覆蓋,要麼鏈式存儲。然而,當存在在同一塊地址內有多個值鏈式存在時,這會大大影響HashSet的性能;因此咱們應當保證重寫hashCode()與equals()二者返回"相同"的結果。 對象
sleep與wait的區別: 字符串
sleep是線程類(Thread)的方法,致使此線程暫停執行指定時間,從而將執行機會給其餘線程,但監控狀態依然保持,到時候會自動恢復。調用 sleep不會釋放對象鎖。 hash
wait是Object類的方法,對此對象調用 wait 方法致使本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發出notify方法(或notifyAll)後本線程才進入對象鎖定池準備得到對象鎖進入運行狀態 it
...(待續) 監控