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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java基礎(chǔ)部分組成27個(gè)知識點(diǎn)

Java基礎(chǔ)部分組成27個(gè)知識點(diǎn)

更新時(shí)間:2020-06-10 15:26:43 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2184次

1、JAVA中的幾種基本數(shù)據(jù)類型是什么,各自占用多少字節(jié)。

Java基礎(chǔ)部分組成27個(gè)知識點(diǎn)

2、String類能被繼承嗎,為什么

不能。在Java中,只要是被定義為final的類,也可以說是被final修飾的類,就是不能被繼承的。

3、String,Stringbuffer,StringBuilder的區(qū)別。

Java基礎(chǔ)部分組成27個(gè)知識點(diǎn)

4、ArrayList和LinkedList有什么區(qū)別。

簡單的區(qū)別:

(1)ArrayList是實(shí)現(xiàn)了基于動(dòng)態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),LinkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu)。(LinkedList是雙向鏈表,有next也有previous)

(2)對于隨機(jī)訪問get和set,ArrayList覺得優(yōu)于LinkedList,因?yàn)長inkedList要移動(dòng)指針。

(3)對于新增和刪除操作add和remove,LinedList比較占優(yōu)勢,因?yàn)锳rrayList要移動(dòng)數(shù)據(jù)。

深度的區(qū)別:

(1)對ArrayList和LinkedList而言,在列表末尾增加一個(gè)元素所花的開銷都是固定的。對ArrayList而言,主要是在內(nèi)部數(shù)組中增加一項(xiàng),指向所添加的元素,偶爾可能會(huì)導(dǎo)致對數(shù)組重新進(jìn)行分配;而對LinkedList而言,這個(gè)開銷是統(tǒng)一的,分配一個(gè)內(nèi)部Entry對象。

(2)在ArrayList的中間插入或刪除一個(gè)元素意味著這個(gè)列表中剩余的元素都會(huì)被移動(dòng);而在LinkedList的中間插入或刪除一個(gè)元素的開銷是固定的。

(3)LinkedList不支持高效的隨機(jī)元素訪問。

(4)ArrayList的空間浪費(fèi)主要體現(xiàn)在在list列表的結(jié)尾預(yù)留一定的容量空間,而LinkedList的空間花費(fèi)則體現(xiàn)在它的每一個(gè)元素都需要消耗相當(dāng)?shù)目臻g

5、講講類的實(shí)例化順序。

問題:比如父類靜態(tài)數(shù)據(jù),構(gòu)造函數(shù),字段,子類靜態(tài)數(shù)據(jù),構(gòu)造函數(shù),字段,當(dāng)new的時(shí)候,他們的執(zhí)行順序。

答案:類加載器實(shí)例化時(shí)進(jìn)行的操作步驟(加載–>連接->初始化)。父類靜態(tài)變量、父類靜態(tài)代碼塊、子類靜態(tài)變量、子類靜態(tài)代碼塊、父類非靜態(tài)變量(父類實(shí)例成員變量)、父類構(gòu)造函數(shù)、子類非靜態(tài)變量(子類實(shí)例成員變量)、子類構(gòu)造函數(shù)。

6、用過哪些Map類,都有什么區(qū)別。

問題:比如HashMap是線程安全的嗎,并發(fā)下使用的Map是什么,他們內(nèi)部原理分別是什么,比如存儲方式,hashcode,擴(kuò)容,默認(rèn)容量等。答案:不安全,并發(fā)下使用ConcurrentHashMap。

7、JAVA8的ConcurrentHashMap為什么放棄了分段鎖?

原因:通過JDK的源碼和官方文檔看來,他們認(rèn)為的棄用分段鎖的原因由以下幾點(diǎn):1、加入多個(gè)分段鎖浪費(fèi)內(nèi)存空間。2、生產(chǎn)環(huán)境中,map在放入時(shí)競爭同一個(gè)鎖的概率非常小,分段鎖反而會(huì)造成更新等操作的長時(shí)間等待。3、為了提高GC的效率

既然棄用了分段鎖,那么一定由新的線程安全方案,我們來看看源碼是怎么解決線程安全的呢?CAS

首先通過hash找到對應(yīng)鏈表過后,查看是否是第一個(gè)object,如果是,直接用cas原則插入,無需加鎖,然后如果不是鏈表第一個(gè)object,則直接用鏈表第一個(gè)object加鎖,這里加的鎖是synchronized,雖然效率不如ReentrantLock,但節(jié)約了空間,這里會(huì)一直用第一個(gè)object為鎖,直到重新計(jì)算map大小,比如擴(kuò)容或者操作了第一個(gè)object為止。

8、ConcurrentHashMap(JDK1.8)為什么要使用synchronized而不是如ReentranLock這樣的可重入鎖?

可以從下面幾個(gè)方面講述:鎖的粒度首先鎖的粒度并沒有變粗,甚至變得更細(xì)了。每當(dāng)擴(kuò)容一次,ConcurrentHashMap的并發(fā)度就擴(kuò)大一倍。Hash沖突JDK1.7中,ConcurrentHashMap從過二次hash的方式(Segment->HashEntry)能夠快速的找到查找的元素。在1.8中通過鏈表加紅黑樹的形式彌補(bǔ)了put、get時(shí)的性能差距。擴(kuò)容JDK1.8中,在ConcurrentHashmap進(jìn)行擴(kuò)容時(shí),其他線程可以通過檢測數(shù)組中的節(jié)點(diǎn)決定是否對這條鏈表(紅黑樹)進(jìn)行擴(kuò)容,減小了擴(kuò)容的粒度,提高了擴(kuò)容的效率。

為什么是synchronized,而不是可重入鎖

減少內(nèi)存開銷假設(shè)使用可重入鎖來獲得同步支持,那么每個(gè)節(jié)點(diǎn)都需要通過繼承AQS來獲得同步支持。但并不是每個(gè)節(jié)點(diǎn)都需要獲得同步支持的,只有鏈表的頭節(jié)點(diǎn)(紅黑樹的根節(jié)點(diǎn))需要同步,這無疑帶來了巨大內(nèi)存浪費(fèi)。

獲得JVM的支持可重入鎖畢竟是API這個(gè)級別的,后續(xù)的性能優(yōu)化空間很小。synchronized則是JVM直接支持的,JVM能夠在運(yùn)行時(shí)作出相應(yīng)的優(yōu)化措施:鎖粗化、鎖消除、鎖自旋等等。這就使得synchronized能夠隨著JDK版本的升級而不改動(dòng)代碼的前提下獲得性能上的提升。

9、有沒有有順序的Map實(shí)現(xiàn)類,如果有,他們是怎么保證有序的。

Hashmap和Hashtable都不是有序的。TreeMap和LinkedHashmap都是有序的。(TreeMap默認(rèn)是key升序,LinkedHashmap默認(rèn)是數(shù)據(jù)插入順序)TreeMap是基于比較器Comparator來實(shí)現(xiàn)有序的。LinkedHashmap是基于鏈表來實(shí)現(xiàn)數(shù)據(jù)插入有序的。

10、抽象類和接口的區(qū)別,類可以繼承多個(gè)類么,接口可以繼承多個(gè)接口么,類可以實(shí)現(xiàn)多個(gè)接口么。

區(qū)別:1、抽象類和接口都不能直接實(shí)例化,如果要實(shí)例化,抽象類變量必須指向?qū)崿F(xiàn)所有抽象方法的子類對象,接口變量必須指向?qū)崿F(xiàn)所有接口方法的類對象。2、抽象類要被子類繼承,接口要被類實(shí)現(xiàn)。3、接口只能做方法申明,抽象類中可以做方法申明,也可以做方法實(shí)現(xiàn)4、接口里定義的變量只能是公共的靜態(tài)的常量,抽象類中的變量是普通變量。5、抽象類里的抽象方法必須全部被子類所實(shí)現(xiàn),如果子類不能全部實(shí)現(xiàn)父類抽象方法,那么該子類只能是抽象類。同樣,一個(gè)實(shí)現(xiàn)接口的時(shí)候,如不能全部實(shí)現(xiàn)接口方法,那么該類也只能為抽象類。6、抽象方法只能申明,不能實(shí)現(xiàn)。abstract void abc();不能寫成abstract void abc(){}。7、抽象類里可以沒有抽象方法8、如果一個(gè)類里有抽象方法,那么這個(gè)類只能是抽象類9、抽象方法要被實(shí)現(xiàn),所以不能是靜態(tài)的,也不能是私有的。10、接口可繼承接口,并可多繼承接口,但類只能單根繼承。

類不能繼承多個(gè)類接口可以繼承多個(gè)接口類可以實(shí)現(xiàn)多個(gè)接口

Java基礎(chǔ)部分組成27個(gè)知識點(diǎn)

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java基礎(chǔ)部分組成27個(gè)知識點(diǎn)”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产精品成人久久久久 | 天天艹日日干 | 黄色毛片免费在线观看 | 午夜影院在线免费观看 | 精品一区视频 | 日本三级不卡 | 噜噜噜噜私人影院av线观看 | 免费性爱视频 | 黄色免费在线观看网址 | 日本人xxxⅹ18hd18hd | 精品视频在线免费 | 综合图色| 免费啪啪社区免费啪啪手机版 | 成人91视频| 激情久久久久久久久久久 | 午夜影视在线观看 | 成人免费体验区福利云点播 | 在线成人a毛片免费播放 | 欧美综合图区亚洲综合图区 | 欧美高清成人videosex | 午夜视频体验区 | 男人女人真曰批视频大全免费观看 | 精品国产亚洲一区二区在线3d | 日日射视频 | 中文字幕亚洲精品日韩精品 | 男女一级毛片免费播放 | 国产精品欧美在线 | 久久成人性色生活片 | 亚洲成a人片在线播放观看国产 | 亚洲国产欧美日韩第一香蕉 | 欧美日韩操 | 在线天堂中文在线网 | 中国国产成人精品久久 | 本田岬最猛喷一地在线播放 | 免费永久观看美女视频网站网址 | 最近2019最新中文字幕3 | 美女色站 | 亚洲第一二三四区 | 黄色大片网站在线观看 | 伊人天堂网 | 青青草在视线频久久 |