亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      java

      當(dāng)前位置:中華考試網(wǎng) >> java >> java面試題 >> 文章內(nèi)容

      2020java常見面試題及答案:第五部分

      來源:中華考試網(wǎng)  [2020年10月2日]  【

        ConcurrentHashMap的增刪改查如何保證線程安全

        增(put(K key, V value)):在一個(gè)for死循環(huán)中,判斷hash值對(duì)應(yīng)的數(shù)組位置上是否有值,沒有值則通過CAS操作添加數(shù)據(jù)。添加成功跳出循環(huán),添加操作結(jié)束,對(duì)數(shù)組加一。操作失敗則通過synchronized對(duì)數(shù)組中的第一個(gè)節(jié)點(diǎn)加鎖添加數(shù)據(jù),也即會(huì)對(duì)整條鏈表加鎖。

        刪(remove(Object key)):在一個(gè)for死循環(huán)中,判斷當(dāng)前map為空,或者數(shù)組對(duì)應(yīng)的位置上為null,則表示沒有值,返回null。否則也是通過synchronized對(duì)數(shù)組中的第一個(gè)節(jié)點(diǎn)加鎖刪除數(shù)據(jù)。

        查(get(Object key)):先判斷map不為空,對(duì)應(yīng)的數(shù)組位置上也有元素,即不能等于null,如果不滿足則返回null。然后先判斷數(shù)組位置上的這個(gè)元素是否與傳入?yún)?shù)key相等,相等則直接返回。不相等則遍歷鏈表,直到找到key相等的節(jié)點(diǎn),否則返回null。

        final、finally、finalize區(qū)別

        final:可以用來修飾類、方法、成員變量。修飾類表示該類不能被集成,修飾方法表示該方法不能被重寫,修飾成員變量表示該成員變量的值不能被修改。

        finally:一般配合try……catch使用,用來保證程序不論是正常執(zhí)行或是拋出異常或是中途return,都會(huì)執(zhí)行finally中的代碼。

        finalized:這是配合GC的一個(gè)方法,在GC回收前都會(huì)先執(zhí)行該方法。但由于致命缺陷已被廢棄。

        抽象類和接口的不同區(qū)別

        (1)抽象類是一個(gè)類,只能被繼承,一次只能繼承一個(gè)抽象類。而接口可以被一次實(shí)現(xiàn)多個(gè)。

        (2)抽象類可以有構(gòu)造方法,接口沒有。但是這兩個(gè)都不能有自己的實(shí)例對(duì)象。

        (3)抽象類的修飾符可以是public、private、protect、默認(rèn),但接口只能是public(JDK8后添加了關(guān)鍵字default,但這個(gè)default不等同于抽象類的默認(rèn))。

        (4)抽象類中可以有抽象方法也可以沒有抽象方法。接口中的方法都是沒有方法體的。(JDK1.8后增加了default和static關(guān)鍵字可以在接口中寫方法體)

        填寫下面表單即可預(yù)約申請(qǐng)免費(fèi)試聽!害怕學(xué)不會(huì)?助教全程陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可全國推薦就業(yè)!

      預(yù)約申請(qǐng)免費(fèi)聽課

      • 地區(qū):
      • 姓名:
      • 手機(jī):
      責(zé)編:yangliu1997
      • 會(huì)計(jì)考試
      • 建筑工程
      • 職業(yè)資格
      • 醫(yī)藥考試
      • 外語考試
      • 學(xué)歷考試