java 面試題

來源:互聯網
上載者:User

標籤:是什麼   動態   add   遍曆   不同   試題   set   索引值   重要性   

1 同步方法和同步代碼塊的區別是什嗎?

答: 同步方法的鎖是當前類的對象,同步代碼塊的鎖可以自訂,同步方法鎖的範圍較大,對效能的影響比較大,因此代碼中盡量用同步代碼塊。

 

2 什麼是死結(deadlock)?

答:是指兩個或兩個以上的進程在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去

3 Iterator和ListIterator的區別是什嗎?


下面列出了他們的區別:
Iterator可用來遍曆Set和List集合,但是ListIterator只能用來遍曆List。
Iterator對集合只能是前向遍曆,ListIterator既可以前向也可以後向。
ListIterator實現了Iterator介面,並包含其他的功能,比如:增加元素,替換元素,擷取前一個和後一個元素的索引,等等。

 

4 快速失敗(fail-fast)和安全失敗(fail-safe)的區別是什嗎?

快速失敗:當你在迭代一個集合的時候,如果有另一個線程正在修改你正在訪問的那個集合時,就會拋出一個ConcurrentModification異常。

    在java.util包下的都是快速失敗。安全失敗:你在迭代的時候會去底層集合做一個拷貝,所以你在修改上層集合的時候是不會受影響的,不會拋出ConcurrentModification異常。    在java.util.concurrent包下的全是安全失敗的。 5 HashMap 的工作原理  答 : HashMap的底層是用hash數組和單向鏈表實現的 ,當調用put方法是,首先計算key的hashcode,定位到合適的數組索引,然後再在該索引上的單向鏈表進行迴圈遍曆用equals比較key是否存在,如果存在則用新的value覆蓋原值,如果沒有則向後追加。 6.hashCode()和equals()方法的重要性體現在什麼地方?Java中的HashMap使用hashCode()和equals()方法來確定索引值對的索引,當根據鍵擷取值的時候也會用到這兩個方法。如果沒有正確的實現這兩個方法,兩個不同的鍵可能會有相同的hash值,因此,可能會被集合認為是相等的。而且,這兩個方法也用來發現重複元素。所以這兩個方法的實現對HashMap的精確性和正確性是至關重要的。 7.數組(Array)和列表(ArrayList)有什麼區別?什麼時候應該使用Array而不是ArrayList?
  1. Array可以包涵基本類型和物件類型,ArrayList只能包涵物件類型。
  2. Array大小是固定的,ArrayList的大小是動態變化的,
  3. ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()等等。
對於基礎資料型別 (Elementary Data Type),集合使用自動裝箱來減少編碼的工作量。但是當處理固定大笑的基礎資料型別 (Elementary Data Type)的時候這種方式相對比較慢。 8.ArrayList和LinkedList有什麼區別?ArrayList底層是數組,LinkedList底層是鏈表,ArrayList隨機存取速度快,LinkedList插入和刪除速度快

java 面試題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.