Overload(重載)與Override(重寫)的區別java
重載:發生在一個類中,方法名稱相同,參數列表不一樣,方法體不一樣(看對象類型)安全
重寫:發生在父類中,方法名稱相同,參數列表相同,方法體不一樣(看引用類型)多線程
abstract class(抽象類)和interface(接口)的區別ide
1.抽象類有構造方法,接口沒有線程
2.抽象類中能夠有普通成員變量,接口沒有對象
3.抽象類中能夠包含非抽象的普通方法,接口中全部的方法都是抽象的繼承
4.抽象類中能夠包含靜態方法,接口中不能包含接口
5.抽象類中的抽象方法的訪問類型能夠是public,protected,接口中的只能是public字符串
6.一個類能夠實現多個接口只能繼承一個抽象類同步
String和StringBuff的區別
String提供了數值不可改變的字符串,StringBuff提供字符進行修改,String實現了equals方法,StringBuff沒有
final、finally、finalize的區別
final:屬於聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承
finally:是異常處理語句結構的一個方法,表示老是執行
finalize:是Object類的一個方法,在GC(垃圾回收器)執行的時候會調用被回收對象的此方法
sleep()和wait()有什麼區別
sleep就是正在執行的線程主動讓出CPU,CPU去執行其餘線程,若是當前線程進入了同步鎖,sleep方法並不會釋放鎖
wait就是指一個已經進入同步鎖的線程內,讓本身暫時讓出同步鎖,以便其餘正在等待此鎖線程能夠獲得同步鎖並運行
多線程有幾種實現方法?同步有幾種實現方法?
多線程有兩種實現,分別是繼承Thread類與實現Runnable接口(還有一個鏈接池,不太肯定)
同步的實現方法有:synchronized、wait、notify
wait():是一個線程處於等待狀態,而且釋放所持有的對象的lock
sleep():使一個正在運行的線程處於睡眠狀態,是一個靜態方法
notify():喚醒一個等待狀態的線程
ArrayList和Vector的區別
1.同步性
Vector是同步的,是線程安全的,ArrayList是不一樣步的,是線程不安全的
2.數據增加
兩個都有一個初始的容量大小,當超狗容量時,就會增長存儲空間
ArrayList增加爲原來的1.5倍,Vector增加爲原來的2倍
HashMap與Hashtable的區別
1.Hashtable是老舊的,HashMap是java 1.2引進的Map接口的一個實現
2.Hashtable是線程安全的,同步的 HashMap是線程不安全的,不是同步的
3.只有HashMap能夠讓你將空值做爲一個表格的條目的key或value
List和Map區別
List存儲單列數據的集合,Map是存儲鍵和值這樣雙列數據的聚合
List存儲的數據是由順序的,而且容許重複,Map是沒有順序的,鍵是不能重複的,值能夠重複
第一次發,但願能收穫點好評i