自從java語言發(fā)布至今已經(jīng)有28年之久,其擁有的跨平臺(tái)、面向?qū)ο?、范式編程等特性一直被大多互?lián)網(wǎng)公司、中小企業(yè)廣泛所青睞和使用。對(duì)于一個(gè)java開發(fā)者來說,了解其特性原理是很有必要的。
十余年的新昌網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整新昌建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“新昌網(wǎng)站設(shè)計(jì)”,“新昌網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。java運(yùn)行環(huán)境組成當(dāng)我們要使用java進(jìn)行程序要開發(fā)時(shí),需要在本地安裝java運(yùn)行環(huán)境,一個(gè)標(biāo)準(zhǔn)的java運(yùn)行環(huán)境有以下三個(gè)部分組成
JDK(Java Development kit)Java開發(fā)工具包JDK為java應(yīng)用程序提供了基本的開發(fā)和運(yùn)行環(huán)境,是整個(gè)java的核心,期中包括如下幾個(gè)部分:
JDK安裝目錄結(jié)構(gòu)如下(macos為例):
JRE是Java程序的運(yùn)行環(huán)境,包含JVM(java虛擬機(jī))和java程序運(yùn)行時(shí)需要的核心類庫。
JVM(Java Virtual Machine)Java虛擬機(jī)JVM即是Java虛擬機(jī),是Java程序?qū)崿F(xiàn)跨平臺(tái)最核心的部分。Java程序通過javac開發(fā)工具編譯成JVM可識(shí)別的格式(.class文件)加載到j(luò)ava虛擬機(jī)中得以執(zhí)行。他有自己完善的硬體架構(gòu),如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。它屏蔽了與具體操作系統(tǒng)平臺(tái)相關(guān)的信息,使java程序只需要生成在java虛擬機(jī)上運(yùn)行的字節(jié)碼,就可以在多種平臺(tái)上不加修改的運(yùn)行。以實(shí)現(xiàn)跨平臺(tái)的特性。
上圖為一個(gè)java程序從編碼到執(zhí)行的過程,java原文件通過javac工具編譯為JVM可識(shí)別的字節(jié)碼(.class)文件 當(dāng)時(shí)用java命令運(yùn)行java程序時(shí),jvm的類加載器(classloader)會(huì)把生成的字節(jié)碼文件和java核心類庫進(jìn)行加載,在通過字節(jié)碼解釋器對(duì)其解析成匯編語言,有一些特定的、執(zhí)行次數(shù)很多的代碼,會(huì)通過JIT即時(shí)編譯器進(jìn)行編譯,然后交給執(zhí)行引擎。執(zhí)行引擎與系統(tǒng)硬件進(jìn)行交互以實(shí)現(xiàn)java程序的執(zhí)行??梢哉fJVM是解釋執(zhí)行和編譯執(zhí)行混合的虛擬機(jī)。
JVM現(xiàn)在可以說是跨語言的平臺(tái),因?yàn)槟壳翱梢栽贘VM上運(yùn)行的運(yùn)行有很多 比如 java、scala、kotlin、groovy、jython等等。目前經(jīng)調(diào)查已經(jīng)有超多100多中語言可以運(yùn)行在JVM上。可以說目前JVM與java無關(guān),只要任何語言可以編譯成Class格式的文件,就可以在JVM上執(zhí)行。
常見的JVM虛擬機(jī)實(shí)現(xiàn)1.Hotspot
oracle官方實(shí)現(xiàn),一般是是解釋執(zhí)行和編輯執(zhí)行混合模式(java -version 查看 mixed mode 為此模式)
2.jrockit
bea開發(fā)實(shí)現(xiàn)的,曾經(jīng)號(hào)稱世界上最快的JVM,后來被oracle收購,合并與Hotspot。
3.J9
IBM自研的虛擬機(jī)。沒什么可說的 大廠任性。
4.MicrosoftVm
微軟自研的虛擬機(jī)。同上。
5.TaobaoVM
Hotspot對(duì)于阿里的深度置頂版。
6.LiquidVM
直接針對(duì)硬件的虛擬機(jī),不需要任何操作系統(tǒng),運(yùn)行效率更高。
7.azul zing
收費(fèi)版,特別貴,土豪才用的起的虛擬機(jī),一般銀行、電信等大公司才用的起。
特點(diǎn):速度非常快,最新的垃圾回收期是業(yè)界標(biāo)桿。Hotspot的ZGC是參考zing的垃圾回收算法研發(fā)的。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧