開發(fā)中容易混淆的幾個概念

這篇文章主要記錄在開發(fā)中容易混淆和使用出現(xiàn)錯誤的知識點,稍作整理,后續(xù)會持續(xù)更新

?equals和==的區(qū)別

?==

- 是一個運算符

- 比較兩個對象的棧內(nèi)存地址是否相同

- 可以比較基本數(shù)據(jù)類型的值是否相等


Equalse

- string對象的方法

- 比較兩個對象的棧內(nèi)存地址是否相同

- 既可以表示兩個對象的內(nèi)存地址是否相同,又可以表示值是否相同

NULL和“”的區(qū)別

?NULL

-代表一個空對象

-除了=和==,一般不執(zhí)行其他操作

-String s=null;只是定義了一個句柄,也就是說你有了引用,但引用并未任何內(nèi)存空間

“”

-代表一個對象實例,這個對象實例的值是一個長度為0的空字符串

-是一個空字符串,可以執(zhí)行字符串里的方法

-String s="";這個引用已經(jīng)指向了一塊是空字符串的內(nèi)存空間,可以對其進行任何操作

?單引號和雙引號

?單引號

-單引號的數(shù)據(jù)是char類型

-只能引一個字符

?雙引號

-雙引號的數(shù)據(jù)是string類型

-可以引0個及其以上

?wait、sleep和Yield的區(qū)別

wait

-Condition/Object的方法

-執(zhí)行環(huán)境:同步代碼塊內(nèi)

-是否釋放持有的鎖:釋放

-調(diào)用后何時恢復(fù):某個線程調(diào)用對應(yīng)的nofity/signal方法喚醒后進入就緒狀態(tài)

sleep

-Thread的方法

-執(zhí)行環(huán)境:任意位置

-是否釋放持有的鎖:不釋放

-調(diào)用后何時恢復(fù):指定時間后

?Yield

-Thread的方法

-執(zhí)行環(huán)境:任意位置

-是否釋放持有的鎖:不釋放

-調(diào)用后何時恢復(fù):立即進入就緒狀態(tài)

?overload和override的區(qū)別

?overload(重載)

-參數(shù)類型、個數(shù)、順序至少有一個不相同;

-不能重載只有返回值不同的方法名;

-存在于父類和子類、同類中;

override(重寫)

-方法名、參數(shù)、返回值相同

-子類方法不能縮小父類方法的訪問權(quán)限

-子類方法不能拋出比父類更多的異常(但子類方法可以不拋出異常)

-存在于父類和子類之間

-方法被定義為final不能被重寫

?String、StringBuffer與StringBuilder之間區(qū)別

?String

-字符串常量

-執(zhí)行速度:最慢

-操作少量數(shù)據(jù)時使用

StringBuffer

-字符串變量

-執(zhí)行速度:稍快

-多線程操作字符串緩沖區(qū)下大量數(shù)據(jù)時使用

-線程安全的

?StringBuilder

-字符串變量

-執(zhí)行速度:最快

-單線程操作字符串緩沖區(qū)下大量數(shù)據(jù)時使用

-線程非安全的

?Collection 和 Collections的區(qū)別

?Collection

-是一個集合接口(集合類的一個頂級接口)

-繼承與他的接口主要有Set 和List

-它提供了對集合對象進行基本操作的通用接口方法

?Collections

-是集合類的一個工具類/幫助類

-其中提供了一系列靜態(tài)方法,用于對集合中元素進行排序、搜索以及線程安全等各種操作

ArrayList,Vector, LinkedList的存儲性能和特性

?ArrayList

-ArrayList 采用的是數(shù)組形式來保存對象的

-此數(shù)組元素數(shù)大于實際存儲數(shù)據(jù)以便增加和插入元素

-允許直接用序號索引元素

-索引數(shù)據(jù)快而插入數(shù)據(jù)慢

-線程不安全的,不是同步的

-當(dāng)需要增長時,ArrayList卻是原來的一半

?Vector

-ArrayList 采用的是數(shù)組形式來保存對象的

-此數(shù)組元素數(shù)大于實際存儲數(shù)據(jù)以便增加和插入元素

-允許直接用序號索引元素

-索引數(shù)據(jù)快而插入數(shù)據(jù)慢

-線程安全的,也就是說是同步的

-當(dāng)需要增長時,Vector默認(rèn)增長為原來一培

LinkedList

-使用雙向鏈表方式存儲數(shù)據(jù)

-按序號索引數(shù)據(jù)需要前向或后向遍歷數(shù)據(jù)

-索引數(shù)據(jù)慢,插入的速度快

?HashMap和Hashtable的區(qū)別

?HashMap

-線程不安全

-允許有null的鍵和值

-效率高一點

-方法不是Synchronize的要提供外同步

-有containsvalue和containsKey方法

-HashMap是Hashtable的輕量級實現(xiàn)

?Hashtable

-線程安全

-不允許有null的鍵和值

-效率稍低

-方法是是Synchronize的

-有contains方法

-Hashtable 比HashMap 要舊

?final, finally, finalize的區(qū)別

?final

-用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承

?finally

-是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行

finalize

-是Object類的一個方法,在垃圾收集器執(zhí)行的時候會調(diào)用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關(guān)閉文件等。

?error和exception有什么區(qū)別?

?error

-Error類的父類都是throwable類

-Error類一般是指與虛擬機相關(guān)的問題,如系統(tǒng)崩潰,虛擬機錯誤,內(nèi)存空間不足,方法調(diào)用棧溢等

-對于這類錯誤的導(dǎo)致的應(yīng)用程序中斷,僅靠程序本身無法恢復(fù)和和預(yù)防,遇到這樣的錯誤,建議讓程序終止。

exception

-Exception類的父類都是throwable類

-Exception類表示程序可以處理的異常,可以捕獲且可能恢復(fù)

-遇到這類異常,應(yīng)該盡可能處理異常,使程序恢復(fù)運行,而不應(yīng)該隨意終止異常

?abstract class和interface有什么區(qū)別?

?abstract class

-抽象類可以有構(gòu)造方法

-抽象類中可以有普通成員變量

-抽象類中可以包含非抽象的普通方法

-抽象類中的抽象方法的訪問類型可以是public,protected和默認(rèn)類型

-抽象類和接口中都可以包含靜態(tài)成員變量,抽象類中的靜態(tài)成員變量的訪問類型可以任意

-抽象類類可以實現(xiàn)多個接口,但只能單繼承

?interface

-接口中不能有構(gòu)造方法

-接口中沒有普通成員變量

-接口中的所有方法必須都是抽象的,不能有非抽象的普通方法

-但接口中的抽象方法只能是public類型的,并且默認(rèn)即為public abstract類型

-但接口中定義的變量只能是public static final類型,并且默認(rèn)即為public static final類型

-接口只可以繼承一個或多個其它接口

正斜杠/和反斜杠\的區(qū)別

正斜杠/

從右寫到左(右傾)

表示除法,如120/60 = 2;表示單位(除法的變形),如60km/h

表示路徑;Unix使用斜桿/ 作為路徑分隔符;如果代表的是網(wǎng)絡(luò)文件路徑,則必須使用 正斜杠/

反斜杠\

從左寫到右(左傾)

符表示轉(zhuǎn)義字符,如\0表示“空字符”\r表示“回車”,\n表示“換行”等。

表示路徑;如果代表的是windows文件路徑,則使用 正斜杠/和 反斜杠\是一樣的


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,645評論 18 399
  • (一)Java部分 1、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,251評論 0 62
  • 轉(zhuǎn)自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帥199207閱讀 8,803評論 3 93
  • 來杭州轉(zhuǎn)眼已有數(shù)月,最開始僅是簡單的江南情節(jié),之后就是喜歡這個城市的味道。干凈而優(yōu)雅。煙雨中的杭州也別有一番趣味和雅致。
    zjanezhao閱讀 263評論 0 0
  • 這一首詩,寫到一半, 手機就莫名的自行關(guān)掉。 再打開,電還多,詩已然滅失, 不過我還部分記得起來。 遭遇神秘斷電,...
    皇兄H閱讀 476評論 1 5

友情鏈接更多精彩內(nèi)容