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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 職業(yè)指南 Java中高級(jí)面試題,開發(fā)模擬練習(xí)

Java中高級(jí)面試題,開發(fā)模擬練習(xí)

更新時(shí)間:2023-01-12 15:11:18 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1425次

1.Redis為什么這么快?

  1. Redis是單線程的,避免了多線程的上下文切換和并發(fā)控制開銷;
  2. Redis大部分操作時(shí)基于內(nèi)存,讀寫數(shù)據(jù)不需要磁盤I/O,所以速度非常快;
  3. Redis采用了I/O多路復(fù)用機(jī)制,提高了網(wǎng)絡(luò)I/O并發(fā)性;
  4. Redis提供高效的數(shù)據(jù)結(jié)構(gòu),如跳躍表、哈希表等;

2.Java 虛擬機(jī)架構(gòu) (JVM Architecture)

在我看來,不管學(xué)習(xí)什么樣的知識(shí)或技術(shù),首先要做的就是從全局上去認(rèn)識(shí)它,這樣才能避免盲人摸象,事倍功半的情況發(fā)生。既然要學(xué)習(xí) JVM,就要先了解它的整體架構(gòu),于是我畫了個(gè) JVM 架構(gòu)圖來幫助大家認(rèn)識(shí)它。

java中高級(jí)面試題

對(duì) JVM 還不太了解的同學(xué)第一次看到這張花里胡哨的圖肯定會(huì)一臉懵逼,不用怕,其實(shí)我們只需要重點(diǎn)理解并掌握其中一部分 (同時(shí)也是面試重點(diǎn)) 就好了,比如運(yùn)行時(shí)數(shù)據(jù)區(qū)、垃圾收集器、內(nèi)存分配策略和類加載機(jī)制等,類文件結(jié)構(gòu)也可以學(xué)習(xí)一下,其他的稍作了解即可。既然本篇文章是要帶領(lǐng)大家認(rèn)識(shí) JVM 架構(gòu)的,那就先把圖中各個(gè)部分都介紹一下吧 (注:本文只做介紹,讓各位先對(duì) JVM 有個(gè)整體的認(rèn)識(shí),后續(xù)會(huì)做深入探討)。

3.Class 文件 (字節(jié)碼文件)

Java 之所以號(hào)稱“一次編寫,處處運(yùn)行”,就是得益于虛擬機(jī)和 Class 文件 (注:CLass 文件、字節(jié)碼文件和類文件是一個(gè)意思) 的組合機(jī)制。程序員并不需要自己去適配不同的操作系統(tǒng),大家都知道我們平時(shí)編寫的 java 代碼在編譯成 Class 文件后才能執(zhí)行,而 Class 文件可以在任何操作系統(tǒng)上的 JVM 上執(zhí)行,這樣就做到了“平臺(tái)無關(guān)性”。下面是一個(gè)最簡(jiǎn)單的 HelloWorld 程序及其對(duì)應(yīng)的 Class 文件。

java中高級(jí)面試題

HelloWorld 程序及其編譯后的 Class 文件

得益于 Class 文件,JVM 還可以做到“語言無關(guān)性”,也就是說不只有 Java 程序可以運(yùn)行于 JVM 之上,很多其他語言例如最近在安卓開發(fā)者中大火的 Kotlin 語言,還有 Scala、Groovy 等語言也都是基于 JVM 平臺(tái)的,這些語言的代碼都可以編譯成 Class 文件,然后在 JVM 上運(yùn)行。

java中高級(jí)面試題

JVM提供的平臺(tái)無關(guān)性和語言無關(guān)性

4.類加載器子系統(tǒng) (ClassLoader Subsystem)

要執(zhí)行 Class 文件就需要先將其加載進(jìn)內(nèi)存,這一工作正是由類加載器 (ClassLoader) 完成的,系統(tǒng)為我們提供了三種類加載器,分別是啟動(dòng)類加載器 (Bootstrap ClassLoader)、擴(kuò)展類加載器 (Extension ClassLoader) 和應(yīng)用程序類加載器 (Application ClassLoader),如果有必要,我們也可以加入自定義的類加載器。類加載過程如下:

java中高級(jí)面試題

類加載過程

類加載過程分為加載、連接和初始化三個(gè)階段,其中的連接階段又分為驗(yàn)證、準(zhǔn)備和解析三個(gè)階段 (詳細(xì)的類加載機(jī)制在后續(xù)文章中進(jìn)行介紹)。

5. Java 虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū) (JVM Runtime Data Area)

這部分內(nèi)容較多,放在本文第二部分單獨(dú)進(jìn)行介紹。

 執(zhí)行引擎 (Execution Engine)

字節(jié)碼被加載進(jìn)運(yùn)行時(shí)數(shù)據(jù)區(qū)后,執(zhí)行引擎會(huì)進(jìn)行讀取并執(zhí)行,執(zhí)行引擎主要包含以下模塊:

解釋器 (Interpreter):相信大家很久以前就聽過“計(jì)算機(jī)只認(rèn)識(shí)0和1”這句話,時(shí)至今日,計(jì)算機(jī)依然只認(rèn)識(shí)0和1,所以任何編程語言的代碼最終都要轉(zhuǎn)化成機(jī)器碼 (二進(jìn)制代碼)才能執(zhí)行,Java 也不例外,而解釋器的工作正是將編譯得到的字節(jié)碼再轉(zhuǎn)化成機(jī)器碼,然后才能執(zhí)行。正因?yàn)槿绱耍琂ava 才被稱為解釋型語言,也正是因?yàn)檫吔忉屵厛?zhí)行的特點(diǎn),Java 程序在執(zhí)行時(shí)才會(huì)慢于 C++ 之類的編譯型語言。

即時(shí)編譯器 ,為了彌補(bǔ)解釋執(zhí)行帶來的速度劣勢(shì),JVM 引入了即時(shí)編譯器,它的作用就是把熱點(diǎn)代碼,比如重復(fù)調(diào)用的方法和循環(huán)代碼等,編譯成機(jī)器碼并存放在 code cache 中,這樣之后再用到這些代碼就不用重新解釋執(zhí)行了,可以提高程序運(yùn)行效率。

垃圾收集器 (Garbage Collector):Java 程序員可以不用手動(dòng)釋放內(nèi)存,全是垃圾收集器的功勞,這也是 JVM 中尤其重要的內(nèi)容,后續(xù)會(huì)有多篇文章對(duì)其進(jìn)行介紹。

本地庫接口 (JNI,Java Native Interface)

如果你經(jīng)常看 JDK 源碼的話,一定會(huì)注意到 native 這個(gè)關(guān)鍵詞,被它修飾的方法是沒有方法體的,是因?yàn)樗{(diào)用了計(jì)算機(jī)本地的方法庫 (通常是 C 或 C++ 代碼)。JDK 源碼中有很多類的方法,特別是一些需要操作計(jì)算機(jī)硬件的方法,都調(diào)用了本地方法庫,畢竟與硬件打交道還是用 C 和 C++ 更方便,比如下面這些方法:

// 例一:這是 Thread 類中的 currentThread 方法,用于獲取當(dāng)前正在執(zhí)行的線程
public static native Thread currentThread();

// 例二:這是 FileInputStream 類中 open0 方法,用于打開指定文件
private native void open0(String name) throws FileNotFoundException;

以上就是“Java中高級(jí)面試題,開發(fā)模擬練習(xí)”,你能回答上來嗎?如果想要了解更多的Java面試題相關(guān)內(nèi)容,可以關(guān)注動(dòng)力節(jié)點(diǎn)Java官網(wǎng)。

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

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: aaa黑人一级毛片 | 在线播放h | 国产你懂的在线观看 | 91视频看| a级毛片在线视频免费观看 a级免费看 | 韩国伦理在线 | 国产高清在线精品一区a | 日本韩国在线 | 亚洲欧美日产综合在线看 | 欧美黑人性猛交╳xx╳动态图 | 一级黄色日b片 | 免费一看一级毛片全播放 | 国产午夜视频 | 91av中文| 成人免费福利视频 | 日韩免费视频在线观看 | 手机看日韩片 | 好男人www社区影视在线 | 欧美一区二区三区免费 | 91在线 | 欧美 | 最近新韩国日本免费看 | 欧美×x| 一级做a爰片性色毛片16美国 | 亚洲日本视频在线观看 | 日韩欧美视频一区二区三区 | 高清黄色一级片 | 日韩三级观看 | 老司机午夜精品视频你懂的 | 国产精品欧美日韩精品 | a级片免费观看视频 | 国产成人免费高清视频 | 国产日韩欧美一区二区三区在线 | 日本精品高清一区二区不卡 | 久久精品无码一区二区日韩av | 日本三级韩国三级三级a级按摩 | 免费的黄色影片 | 一个人看www在线视频资源 | 国产精品久久久久9999高清 | 成年人毛片网站 | 黄色一级毛片看一级毛片 | 在线观看成人免费视频 |