黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

2020年常見的京東java筆試題

更新時間:2020-07-31 16:09:40 來源:動力節點 瀏覽2581次

1、set集合從原理上如何保證不重復

1)在往set中添加元素時,如果指定元素不存在,則添加成功。也就是說,如果set中不存在(e==null?e1==null:e.queals(e1))的元素e1,則e1能添加到set中。

2)具體來講:當向HashSet中添加元素的時候,首先計算元素的hashcode值,然后用這個(元素的hashcode)%(HashMap集合的大小)+1計算出這個元素的存儲位置,如果這個位置位空,就將元素添加進去;如果不為空,則用equals方法比較元素是否相等,相等就不添加,否則找一個空位添加。

2、HashMap和HashTable的主要區別是什么?,兩者底層實現的數據結構是什么?

HashMap和HashTable的區別:

二者都實現了Map接口,是將惟一鍵映射到特定的值上;主要區別在于:

1)HashMap沒有排序,允許一個null鍵和多個null值,而Hashtable不允許;

2)HashMap把Hashtable的contains方法去掉了,改成containsvalue和

containsKey,因為contains方法容易讓人引起誤解;

3)Hashtable繼承自Dictionary類,HashMap是Java1.2引進的Map接口的實現;

4)Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap就必須為之提供外同步。Hashtable和HashMap采用的hash/rehash算法大致一樣,所以性能不會有很大的差異。

HashMap和HashTable的底層實現數據結構:

HashMap和Hashtable的底層實現都是數組+鏈表結構實現的

3、HashMap何時擴容,擴容的算法是什么?

HashMap何時擴容:

當向容器添加元素的時候,會判斷當前容器的元素個數,如果大于等于閾值---即當前數組的長度乘以加載因子的值的時候,就要自動擴容

擴容的算法是什么:

擴容(resize)就是重新計算容量,向HashMap對象里不停的添加元素,而HashMap對象內部的數組無法裝載更多的元素時,對象就需要擴大數組的長度,以便能裝入更多的元素。當然Java里的數組是無法自動擴容的,方法是使用一個新的數組代替已有的容量小的數組

4、Java的虛擬機JVM的兩個內存:棧內存和堆內存的區別是什么?

Java把內存劃分成兩種:一種是棧內存,一種是堆內存。兩者的區別是:

1)棧內存:在函數中定義的一些基本類型的變量和對象的引用變量都在函數的棧內存中分配。當在一段代碼塊定義一個變量時,Java就在棧中為這個變量分配內存空間,當超過變量的作用域后,Java會自動釋放掉為該變量所分配的內存空間,該內存空間可以立即被另作他用。

2)堆內存:堆內存用來存放由new創建的對象和數組。在堆中分配的內存,由Java虛擬機的自動垃圾回收器來管理。

5、Java中對異常是如何進行分類的?

異常整體分類:

1)Java異常結構中定義有Throwable類。Exception和Error為其子類。

2)其中Exception表示由于網絡故障、文件損壞、設備錯誤、用戶輸入非法情況導致的異常;

3)而Error標識Java運行時環境出現的錯誤,例如:JVM內存耗盡。

6、數據庫設計中常講的三范式是指什么?

1)第一范式1NF(域的原子性)

如果數據庫表中的所有字段值都是不可分解的原子值,就說明該數據庫表滿足了第一范式

2)第二范式2NF(表中除主鍵外的字段都完全依賴主鍵)

第二范式是在第一范式基礎上建立的。第二范式有兩個重點:(1)表中必須有主鍵;(2)其他非主屬性必須完全依賴主鍵,不能只依賴主鍵的一部分(主要針對聯合主鍵而言)。

3)第三范式3NF(表中除主鍵外的字段都完全直接依賴,不能是傳遞依賴)

不能是傳遞依賴,即不能存在:非主鍵列A依賴于非主鍵列B,非主鍵列B依賴于主鍵的情況。第二范式和第三范式區分的關鍵點:2NF:非主鍵列是否完全依賴于主鍵,還是依賴于主鍵的一部分;3NF:非主鍵列是直接依賴于主鍵,還是直接依賴于非主鍵列。

7、Java中的線程池共有幾種?

Java四種線程池

第一種:newCachedThreadPool

創建一個可根據需要創建新線程的線程池,但是在以前構造的線程可用時將重用它們。

第二種:newFixedThreadPool

創建一個指定工作線程數量的線程池

第三種:newScheduledThreadPool

創建一個線程池,它可安排在給定延遲后運行命令或者定期地執行。

第四種:newSingleThreadExecutor

創建一個使用單個worker線程的Executor,以無界隊列方式來運行該線程。

8、volatile和synchronized區別

volatile和synchronized簡介:

在Java中,為了保證多線程讀寫數據時保證數據的一致性,可以采用兩種方式:

1)使用synchronized關鍵字

2)使用volatile關鍵字:用一句話概括volatile,它能夠使變量在值發生改變時能盡快地讓其他線程知道。

兩者的區別:

1)volatile本質是在告訴jvm當前變量在寄存器中的值是不確定的,需要從主存中讀取,synchronized則是鎖定當前變量,只有當前線程可以訪問該變量,其他線程被阻塞住.

2)volatile僅能使用在變量級別,synchronized則可以使用在變量,方法.

3)volatile僅能實現變量的修改可見性,而synchronized則可以保證變量的修改可見性和原子性.

4)volatile不會造成線程的阻塞,而synchronized可能會造成線程的阻塞.

2020年常見的京東java筆試題

以上就是動力節點java培訓機構的小編針對“2020年常見的京東java筆試題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产91精品久久久久久久 | 久久网伊人 | 性欧美高清videosex | 欧美日韩国产成人高清视频 | 一个人的视频www片免费 | 国产网站免费看 | 久久免费99精品国产自在现线 | 在线视频一区二区三区在线播放 | 日韩中文字幕第一页 | 欧美性xxx18一20 | 国产剧情一区二区 | 免费看美女午夜大片 | 午夜视频www | 欧美日韩另类国产 | 你懂的在线免费视频 | 国产精品国产精品国产三级普 | 亚洲欧美视频 | 51成人| 日本中文字幕在线视频站 | 亚洲人成图片小说网站 | 国产毛片一级国语版 | 日本18网站| 91成人在线视频 | 国产欧美日韩综合二区三区 | 一级做a爰片久久毛片看看 一级做a爰久久毛片武则天 | 在线免费观看一级片 | 国产精品免费视频一区一 | 看全色黄大色黄大片色责看的 | 亚洲另类第一页 | 亚洲一成人毛片 | 日韩欧美亚洲一区二区综合 | 午夜看片在线观看 | 欧美日韩性视频一区二区三区 | 一区福利视频 | 亚洲色图第1页 | 黄在线免费 | 免费成年人视频网站 | 精品久久久久久国产91 | 午夜高清免费在线观看 | 韩国理伦伦片在线观看 | 全色网站|