Java關鍵字 -- final程序員
被final修飾的類不能被繼承,沒有子類,final類中的方法默認是finaljvm
被final修飾的方法不能被子類覆蓋工具
final成員變量爲常量,只能被賦值一次,賦值後值不改變spa
final不能用於修飾構造方法
線程
Java關鍵字 -- static對象
方便在沒有建立對象的狀況下調用(方法/變量)繼承
靜態方法內部不能調用非靜態方法,反而能夠接口
Java使用鎖的兩個基本工具是synchronized和Lock資源
lock是基於語言層面實現的鎖,synchronized是基於jvm實現的,是對象的內置鎖。lock能夠隨意釋放,支持定時鎖,synchronized在獲取對象鎖以後,在退出方法或者拋出異常以後纔可釋放對象鎖。lock是程序員手動釋放鎖,必須寫在finally中,synchronized是程序自動釋放鎖。it
wait和sleep的區別
wait和sleep來自於不一樣的類。wait來自Object類,sleep來自Thread類。最重要的是wait沒有釋放鎖,sleep釋放了鎖。通常wait不會加時間限制,由於即便時間到了,鎖釋放,沒有資源也沒有用,要等待其餘線程調用notify/notifyAll喚醒等待池中的全部線程,sleep(milliseconds)能夠用時間指定使它自動喚醒過來,若是時間不到只能調用interrupt()強行打斷。
List和Set的聯繫區別
list 和set是接口,都集成Collection
list特色:元素放入有順序,並且能夠有重複值
set特色:元素放入無順序,不能夠重複