Java 常見小總結

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特色:元素放入無順序,不能夠重複

相關文章
相關標籤/搜索