大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 2020年招聘Java工程師面試筆試題

2020年招聘Java工程師面試筆試題

更新時間:2020-03-23 10:49:34 來源:動力節點 瀏覽2547次


  Java面試不光有面試也會有筆試,為了幫助java應聘筆試題能順利通過,整理了一些java筆試題及答案分享給大家,準備或將要參加java面試的朋友可以仔細閱讀,爭取一次通過呢:


2020年招聘Java工程師面試筆試題


  HashTable與HashMap的區別


  1)同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的。


  2)HashMap允許存在一個為null的key,多個為null的value。


  3)hashtable的key和value都不允許為null。


  12.如何解決HashMap的線程不安全問題


  1)替換成Hashtable,Hashtable通過對整個表上鎖實現線程安全,因此效率比較低


  2)使用Collections類的synchronizedMap方法包裝一下。方法如下:


  publicstatic<K,V>Map<K,V>synchronizedMap(Map<K,V>m)返回由指定映射支持的同步(線程安全的)映射


  3)使用ConcurrentHashMap,它使用分段鎖來保證線程安全


  通過前兩種方式獲得的線程安全的HashMap在讀寫數據的時候會對整個容器上鎖,而ConcurrentHashMap并不需要對整個容器上鎖,它只需要鎖住要修改的部分就行了


  Collection和Collections的區別


  Collection是java.util下的接口,它是各種集合的父接口,繼承于它的接口主要有Set和List;Collections是個java.util下的類,是針對集合的幫助類,提供一系列靜態方法實現對各種集合的搜索、排序、線程安全化等操作。


  List、Map、Set三個接口,存取元素時,各有什么特點


  List以特定次序來持有元素,可有重復元素。


  Set無法擁有重復元素,內部排序。


  Map保存key-value值,value可多值。


  Set里的元素是不能重復的,那么用什么方法來區分重復與否呢?是用==還是equals()?它們有何區別?


  Set里的元素是不能重復的,用equals()方法來區分重復與否。


  覆蓋equals()方法用來判斷對象的內容是否相同,而”==”判斷地址是否相等,用來決定引用值是否指向同一對象。


  TreeMap和TreeSet在排序時如何比較元素?Collections工具類中的sort()方法如何比較元素


  TreeSet要求存放的對象所屬的類必須實現Comparable接口,該接口提供了比較元素的compareTo()方法,當插入元素時會回調該方法比較元素的大小。TreeMap要求存放的鍵值對映射的鍵必須實現Comparable接口從而根據鍵對元素進行排序。Collections工具類的sort方法有兩種重載的形式,第一種要求傳入的待排序容器中存放的對象比較實現Comparable接口以實現元素的比較;第二種不強制性的要求容器中的元素必須可比較,但是要求傳入第二個參數,參數是Comparator接口的子類型(需要重寫compare方法實現元素的比較),相當于一個臨時定義的排序規則,其實就是是通過接口注入比較元素大小的算法,也是對回調模式的應用。


  Map集合


  實現類:HashMap、Hashtable、LinkedHashMap和TreeMap


  HashMap是最常用的Map,它根據鍵的HashCode值存儲數據,根據鍵可以直接獲取它的值,具有很快的訪問速度,遍歷時,取得數據的順序是完全隨機的。因為鍵對象不可以重復,所以HashMap最多只允許一條記錄的鍵為Null,允許多條記錄的值為Null,是非同步的。


  Hashtable與HashMap類似,是HashMap的線程安全版,它支持線程的同步,即任一時刻只有一個線程能寫Hashtable,因此也導致了Hashtale在寫入時會比較慢,它繼承自Dictionary類,不同的是它不允許記錄的鍵或者值為null,同時效率較低。


  ConcurrentHashMap,線程安全,并且鎖分離。ConcurrentHashMap內部使用段(Segment)來表示這些不同的部分,每個段其實就是一個小的hashtable,它們有自己的鎖。只要多個修改操作發生在不同的段上,它們就可以并發進行。


  LinkedHashMap保存了記錄的插入順序,在用Iteraor遍歷LinkedHashMap時,先得到的記錄肯定是先插入的,在遍歷的時候會比HashMap慢,有HashMap的全部特性。


  TreeMap實現SortMap接口,能夠把它保存的記錄根據鍵排序,默認是按鍵值的升序排序(自然順序),也可以指定排序的比較器,當用Iterator遍歷TreeMap時,得到的記錄是排過序的。不允許key值為空,非同步的。


  ArrayList擴容機制【必考】


  1)發生擴容的條件:


  根據傳入的最小需要容量minCapacity來和數組的容量長度對比,若minCapactity大于或等于數組容量,則需要進行擴容。(如果實際存儲數組是空數組,則最小需要容量就是默認容量)


  2)實現擴容:


  jdk7中采用>>位運算,右移動一位。容量相當于擴大了1.5倍;


  3)舉例說明:添加20個元素到ArrayList中


  當第一次插入元素時才分配10(默認)個對象空間。之后擴容會按照1.5倍增長。


  也就是當添加第11個數據的時候,Arraylist繼續擴容變為10*1.5=15;


  當添加第16個數據時,繼續擴容變為15*1.5=22個


  Java中的異常處理機制的簡單原理和應用


  當JAVA程序違反了JAVA的語義規則時,JAVA虛擬機就會將發生的錯誤表示為一個異常。違反語義規則包括2種情況。一種是JAVA類庫內置的語義檢查。例如數組下標越界,會引發IndexOutOfBoundsException;訪問null的對象時會引發NullPointerException。另一種情況就是JAVA允許程序員擴展這種語義檢查,程序員可以創建自己的異常,并自由選擇在何時用throw關鍵字引發異常。所有的異常都是java.lang.Thowable的子類。


  編程題:寫一個Singleton示例


  Singleton:在Java中即指單例設計模式,它是軟件開發中最常用的設計模式之一。


  單:唯一;例:實例,單例設計模式,即某個類在整個系統中只能有一個實例對象可被獲取和使用的代碼模式。


  例如:代表JVM運行環境的Runtime類


  要點:一是某個類只能有一個實例:u構造器私有化;


  二是它必須自行創建這個實例:u含有一個該類的靜態變量來保存這個唯一的實例;


  三是它必須自行向整個系統提供這個實例:u對外提供獲取該實例對象的方式:(1)直接暴露(2)用靜態變量的get方法獲取


  幾種常見形式:


  1)餓漢式:直接創建對象,不存在線程安全問題


  直接實例化餓漢式(簡潔直觀)


  枚舉式(最簡潔)


  靜態代碼塊餓漢式(適合復雜實例化)


  2)懶漢式:延遲創建對象


  線程不安全(適用于單線程)


  線程安全(適用于多線程)


  靜態內部類形式(適用于多線程)


2020年招聘Java工程師面試筆試題


    以上就是動力節點Java培訓機構小編介紹的“2020年招聘Java工程師面試筆試題”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美一级毛片免费播放aa | 久久亚洲高清观看 | 日本一级在线观看 | 久青草网站 | 成人伊人青草久久综合网 | 国产成人啪精品视频免费网 | 欧美日韩国产最新一区二区 | 国产精品久久久久久久久免费 | 久久久噜久噜久久gif动图 | 精品久久网站 | 性一交一乱一欲0 | 久久视频精品a线视频在线观看 | 99视频在线看观免费 | 玖玖国产| 亚洲一级生活片 | 免费视频福利 | 婷婷激情四月 | 一本一道久久 | 成 人 免费 黄 色 视频 | 国产一级特黄高清在线大片 | 亚洲精品久久久久综合中文字幕 | 毛片一级在线 | 亚洲精品久久久 | 欧美久久精品一级c片片 | 成人激情视频 | 久久久精品久久久久久 | 在线观看色视频 | 日韩99精品| 大学生一级毛片免费看真人 | 最新国产精品久久精品 | 亚洲精品成人一区 | 日本亚洲欧美美色 | 久久青青草原精品国产麻豆 | 国产精品福利久久2020 | 国产网红在线观看 | 在线播放heyzo北条麻妃 | 色国产在线 | 久久99精品久久久久久牛牛影视 | 99视频免费在线 | www香蕉视频| 欧美成人三级一区二区在线观看 |