2023年JAVA面試基礎知識面試題_第1頁
2023年JAVA面試基礎知識面試題_第2頁
2023年JAVA面試基礎知識面試題_第3頁
2023年JAVA面試基礎知識面試題_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2023JAVA面試——基礎知識面試題(二)來源:扣丁學堂上次小編和大家分享了一部分的2023JAVA面試基礎知識面試題,今天又為大家整理了一些2023JAVA面試基礎知識面試題,廢話就不多說了,大家直接看吧:八、Collection和Collections的區(qū)別?Collection是集合類的上級接口,繼承與他的接口重要有Set和List.Collections是針對集合類的一個幫助類,他提供一系列靜態(tài)方法實現對各種集合的搜索、排序、線程安全化等操作。九、&和&&的區(qū)別?&是位運算符,表達按位與運算,&&是邏輯運算符,表達邏輯與(and)。十、HashMap和Hashtable的區(qū)別。HashMap是Hashtable的輕量級實現(非線程安全的實現),他們都完畢了Map接口,重要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上也許高于Hashtable。HashMap允許將null作為一個entry的key或者value,而Hashtable不允許。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。由于contains方法容易讓人引起誤解。Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Mapinterface的一個實現。最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap就必須為之提供外同步(假如是ArrayList:Listlst=Collections.synchronizedList(newArrayList());假如是HashMap:Mapmap=Collections.synchronizedMap(newHashMap());)。Hashtable和HashMap采用的hash/rehash算法都大約同樣,所以性能不會有很大的差異。十一、final,finally,finalize的區(qū)別?final用于聲明屬性,方法和類,分別表達屬性不可變,方法不可覆蓋,類不可繼承。finally是異常解決語句結構的一部分,表達總是執(zhí)行。finalize是Object類的一個方法,在垃圾收集器執(zhí)行的時候會調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關閉文獻等。十二、sleep()和wait()有什么區(qū)別?sleep是線程類(Thread)的方法,導致此線程暫停執(zhí)行指定期間,給執(zhí)行機會給其他線程,但是監(jiān)控狀態(tài)仍然保持,屆時后會自動恢復。調用sleep不會釋放對象鎖。wait是Object類的方法,對此對象調用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方法(或notifyAll)后本線程才進入對象鎖定池準備獲得對象鎖進入運營狀態(tài)。十三、Overload和Override的區(qū)別?Overloaded的方法是否可以改變返回值的類型?方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現。重寫Overriding是父類與子類之間多態(tài)性的一種表現,重載Overloading是一個類中多態(tài)性的一種表現。假如在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫(Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。假如在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。十四、error和exception有什么區(qū)別?error表達恢復不是不也許但很困難的情況下的一種嚴重問題。比如說內存溢出。不也許指望程序能解決這樣的情況。exception表達一種設計或實現問題。也就是說,它表達假如程序運營正常,從不會發(fā)生的情況。十五、同步和異步有何異同,在什么情況下分別使用他們?舉例說明。假如數據將在線程間共享。例如正在寫的數據以后也許被另一個線程讀到,或者正在讀的數據也許已經被另一個線程寫過了,那么這些數據就是共享數據,必須進行同步存取。當應用程序在對象上調用了一個需要花費很長時間來執(zhí)行的方法,并且不希望讓程序等待方法的返回時,就應當使用異步編程,在很多情況下采用異步途徑往往更有效率。十六、abstractclass和interface有什么區(qū)別?聲明方法的存在而不去實現它的類被叫做抽象類(abstractclass),它用于要創(chuàng)建一個體現某些基本行為的類,并為該類聲明方法,但不能在該類中實現該類的情況。不能創(chuàng)建abstract類的實例。然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態(tài)方法。Abstract類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義staticfinal成員變量。接口的實現與子類相似,除了該實現類不能從接口定義中繼承行為。當類實現特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現了該接口的類的任何對象上調用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯編將生效。引用可以轉換到接口類型或從接口類型轉換,instanceof運算符可以用來決定某對象的類

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論