溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JVM的簡(jiǎn)介是什么

發(fā)布時(shí)間:2021-10-20 10:35:34 來(lái)源:億速云 閱讀:111 作者:柒染 欄目:大數(shù)據(jù)

本篇文章給大家分享的是有關(guān)JVM的簡(jiǎn)介是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

聊聊JVM

JVM,一個(gè)熟悉又陌生的名詞,從認(rèn)識(shí)Java的第一天起,我們就會(huì)聽到這個(gè)名字,在參加工作的前一兩年,面試的時(shí)候還會(huì)經(jīng)常被問(wèn)到JDK,JRE,JVM這三者的區(qū)別。

JVM可以說(shuō)和我們是老朋友了,但是在工作中的應(yīng)用場(chǎng)景也許不如那些框架,但是在關(guān)鍵時(shí)候還是得靠它去搞定問(wèn)題,俗話說(shuō)得好,知己知彼,方能百戰(zhàn)不殆,JVM作為前往高級(jí)工程師的一道坎,從這篇文章開始,我們會(huì)去逐步的分析,講解,攻克這座大山。

什么是JVM

JVM(Java Virtual Machine),翻譯成中文就是Java虛擬機(jī),總所周知,Java語(yǔ)言有一個(gè)非常鮮明的特性,也是前期Java 發(fā)展的口號(hào)之一

Write Once Run Everywhere

"一次編寫,到處運(yùn)行",相信作為一名Java開發(fā)人員,我們對(duì)這句話都不會(huì)陌生,這句話的底氣就來(lái)源于我們的JVM。

JVM的簡(jiǎn)介是什么

image-20190725222020573

其中的原理就是,我們所編寫的源程序java文件,被編譯成了JVM可以識(shí)別的字節(jié)碼文件(以class為后綴的文件),到處運(yùn)行所依賴的其實(shí)就是為不同的平臺(tái)實(shí)現(xiàn)了不同的虛擬機(jī)。

java的程序運(yùn)行在JVM上,而非直接運(yùn)行在CPU上。

JVM的學(xué)習(xí)要點(diǎn)

首先,我們需要知道的是,作為一個(gè)虛擬機(jī),必定是擁有自己的內(nèi)存機(jī)制,所以我們必須對(duì)他的內(nèi)存機(jī)制有所了解,其中包括了內(nèi)存結(jié)構(gòu),垃圾回收機(jī)制等一些內(nèi)容。

其次,我們需要知道,我們寫的源代碼被翻譯成了字節(jié)碼文件(因其后綴名為class,所以也會(huì)被稱為類文件),對(duì)于這個(gè)文件的結(jié)構(gòu),我們必須有所了解,在知道了該類的結(jié)構(gòu)下,對(duì)于一些并發(fā)多線程的知識(shí)才能做到洞若觀火,知其然知其所以然。

該字節(jié)碼文件在進(jìn)入虛擬機(jī)到執(zhí)行之前,會(huì)經(jīng)歷一系列的過(guò)程,我們對(duì)于這個(gè)過(guò)程的機(jī)制一般稱為類加載機(jī)制,當(dāng)這個(gè)類被加載到JVM中,在運(yùn)行的過(guò)程中,會(huì)有一系列的指令去幫助程序到達(dá)最終的目的。

其實(shí),上面說(shuō)了那么多,都是在幫助我們對(duì)于java文件的一個(gè)執(zhí)行過(guò)程發(fā)生的事情有一個(gè)更深的了解,在遇到問(wèn)題時(shí),我們可以胸有成竹,刨根問(wèn)底的去解決問(wèn)題,但是在日常工作中,我們不會(huì)甚至肯定不會(huì)去看我們寫完的字節(jié)碼文件,我們關(guān)心的是如何使用工具調(diào)優(yōu),使最低的成本發(fā)揮最高的價(jià)值,通過(guò)對(duì)JVM的調(diào)優(yōu)使我們的程序的魯棒性得到提升。

JVM的簡(jiǎn)介是什么

JVM的簡(jiǎn)介是什么

關(guān)于JVM的一個(gè)補(bǔ)充

雖然,JVM叫做Java Virtual Machine,但是需要注意,隨著Java的發(fā)展壯大,有越來(lái)越多的語(yǔ)言加入到JVM生態(tài)中,比如我們耳熟能詳?shù)腉roovy,Scala,Kotlin等等,他們都是依托于JVM平臺(tái)的,編譯產(chǎn)生的文件也都是后綴為class的字節(jié)碼文件。

以上就是JVM的簡(jiǎn)介是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

jvm
AI