正文 一、線程安全 當(dāng)多個(gè)線程訪問(wèn)一個(gè)對(duì)象時(shí),如果不用考慮這些線程在運(yùn)行時(shí)環(huán)境下的調(diào)度和交替執(zhí)行,也不需要進(jìn)行額外的同步,或者在調(diào)用方進(jìn)行任何其他的協(xié)調(diào)操作,調(diào)用這個(gè)對(duì)象的行...
正文 一、線程安全 當(dāng)多個(gè)線程訪問(wèn)一個(gè)對(duì)象時(shí),如果不用考慮這些線程在運(yùn)行時(shí)環(huán)境下的調(diào)度和交替執(zhí)行,也不需要進(jìn)行額外的同步,或者在調(diào)用方進(jìn)行任何其他的協(xié)調(diào)操作,調(diào)用這個(gè)對(duì)象的行...
正文 由于計(jì)算機(jī)的處理器運(yùn)算速度與它的存儲(chǔ)和通信子系統(tǒng)速度的差距太大了,大量的時(shí)間都花費(fèi)在磁盤 I/O、網(wǎng)絡(luò)通信或者數(shù)據(jù)庫(kù)訪問(wèn)上,導(dǎo)致處理器在大部分時(shí)間里都處于等待其他資源的...
正文 在部分商用虛擬機(jī)(Sun HotSpot、IBM J9)中,Java 程序最初是通過(guò)解釋器進(jìn)行解釋執(zhí)行的,當(dāng)虛擬機(jī)發(fā)現(xiàn)某個(gè)方法或代碼塊的運(yùn)行特別頻繁時(shí),就會(huì)把這些代碼認(rèn)...
正文 Java 語(yǔ)言的 3 類編譯器: 前端編譯器:把 java 文件 轉(zhuǎn)變成 class 文件。例如:Sun 的 Javac。 JIT 編譯器(即時(shí)編譯器):后端運(yùn)行期編譯...
正文 執(zhí)行引擎是 Java 虛擬機(jī)最核心的組成部分之一。在不同的虛擬機(jī)實(shí)現(xiàn)里,執(zhí)行引擎在執(zhí)行 Java 代碼時(shí)可能會(huì)有解釋執(zhí)行(通過(guò)解釋器執(zhí)行)和編譯執(zhí)行(通過(guò)即時(shí)編譯器產(chǎn)生...
正文 虛擬機(jī)把描述類的數(shù)據(jù)從 Class 文件加載到內(nèi)存,并對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)、轉(zhuǎn)換解析和初始化,最終形成可以被虛擬機(jī)直接使用的 Java 類型,這就是虛擬機(jī)的類加載機(jī)制。 一、...
正文 一、無(wú)關(guān)性的基石 1、兩種無(wú)關(guān)性 平臺(tái)無(wú)關(guān)性: Java 程序的運(yùn)行不受計(jì)算機(jī)平臺(tái)的限制,“一次編寫(xiě),到處運(yùn)行”。 語(yǔ)言無(wú)關(guān)性: Java 虛擬機(jī)只與 Class 文件...
正文 一、JDK 的命令行工具 JDK 的 bin 目錄下提供了一些用于監(jiān)視虛擬機(jī)和故障處理的命令行工具。 名稱主要作用jpsJVM Process Status Tool,...