您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Java中會遇見的面試題有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Java的基本數據類型分為:1、整數類型,用來表示整數的數據類型。2、浮點類型,用來表示小數的數據類型。3、字符類型,字符類型的關鍵字是“char”。4、布爾類型,是表示邏輯值的基本數據類型。
在準備面試的一段時間,我們需要對基本的理論知識做一個復習,尤其是一些反復會問到的知識點。相信在有所準備之后,大家在面試時也能增添不少的信心。
一、專業技能模塊
1.集合
經常用到哪些 Map
這幾種 Map 的區別
2.多線程、鎖
線程池使用的是哪種
線程池參數怎么配置
3.網絡
HTTPS 是怎么加密的
普通 Hash 和一致性 Hash 原理
4.Spring、Mybatis
Mybatis 中 # 和 $ 的區別
怎么防止SQL 注入
5.MySQL
MySQL 索引的數據結構
為什么使用 B+ 樹,與其他索引相比有什么優點
6.JVM
運行時數據區
服務器使用的什么垃圾收集器
7.分布式
CAP 理論
BASE 理論
二、高頻試題
1.HashMap和Hashtable各有什么特點,它們有什么區別?(必背題,超級重要)
(1)HashMap和Hashtable都實現了Map接口,但決定用哪一個之前先要弄清楚它們之間的分別。主要的區別有:線程安全性,同步(synchronization),以及速度。
(2)HashMap幾乎可以等價于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受為null的鍵值(key)和值(value),而Hashtable則不行)。
(3)HashMap是非synchronized,而Hashtable是synchronized,這意味著Hashtable是線程安全的,多個線程可以共享一個Hashtable;而如果沒有正確的同步的話,多個線程是不能共享HashMap的。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的擴展性更好。
(4)另一個區別是HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以當有其它線程改變了HashMap的結構(增加或者移除元素),將會拋出ConcurrentModificationException,但迭代器本身的remove()方法移除元素則不會拋出ConcurrentModificationException異常。但這并不是一個一定發生的行為,要看JVM。這條同樣也是Enumeration和Iterator的區別。
由于Hashtable是線程安全的也是synchronized,所以在單線程環境下它比HashMap要慢。如果你不需要同步,只需要單一線程,那么使用HashMap性能要好過Hashtable。
(5)HashMap不能保證隨著時間的推移Map中的元素次序是不變的。
2.Java集合類框架的基本接口
Java集合類提供了一套設計良好的支持對一組對象進行操作的接口和類。Java集合類里面最基本的接口有:
? Collection:代表一組對象,每一個對象都是它的子元素。
? Set:不包含重復元素的Collection。
? List:有順序的collection,并且可以包含重復元素。
? Map:可以把鍵(key)映射到值(value)的對象,鍵不能重復
感謝各位的閱讀!關于“Java中會遇見的面試題有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。