請(qǐng)說(shuō)出JDK與JVM的含義及作用,Java程序運(yùn)行原理?(提示: JDK的作用 JVM的作用 java程序運(yùn)行過(guò)程)

jdk為開(kāi)發(fā)工具包,要開(kāi)發(fā)程序必須有jdk,主要組成部分是編譯器,編譯java源文件(你寫(xiě)的java代碼)用的
jre為運(yùn)行環(huán)境,要運(yùn)行程序必須有jre。用來(lái)運(yùn)行上面編譯器編譯好的源文件。
jvm是java虛擬機(jī),包含在jre里面。java的虛擬機(jī)
Java程序的運(yùn)行原理
首先你要有java源程序吧,假設(shè)你有A.java文件,然后編譯它,這時(shí)就會(huì)出來(lái)一個(gè)以A.class。然后再控制臺(tái)輸入java A ,重點(diǎn)來(lái)了:Java虛擬機(jī)JVM會(huì)首先加載這個(gè)類,虛擬機(jī)會(huì)啟動(dòng)一個(gè)一個(gè)Main線程,程序就會(huì)從main()方法開(kāi)始執(zhí)行,然后退出main方法。程序執(zhí)行完畢。

Java虛擬機(jī)(JVM)
Java虛擬機(jī)(JVM)是Java Virtual Machine的縮寫(xiě),它是一個(gè)虛構(gòu)出來(lái)的計(jì)算機(jī),是通過(guò)在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能模擬來(lái)實(shí)現(xiàn)的。
Java中,類加載器把一個(gè)類裝入JAVA虛擬機(jī)需要經(jīng)過(guò)三個(gè)步驟來(lái)完成:裝載、鏈接、初始化,其中鏈接又分來(lái)校驗(yàn)、準(zhǔn)備、解析過(guò)程
裝載:查找和導(dǎo)入.class文件
鏈接:檢查裝入.class文件的正確性,然后,java虛擬機(jī)為變量分配內(nèi)存,設(shè)置默認(rèn)值
初始化:把符號(hào)引用變成直接引用。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評(píng)論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,652評(píng)論 18 399
  • 作為一名Java使用者,掌握J(rèn)VM的體系結(jié)構(gòu)也是必須的。說(shuō)起Java,人們首先想到的是Java編程語(yǔ)言,然而事實(shí)上...
    Android看海閱讀 725評(píng)論 0 2
  • 領(lǐng)導(dǎo)當(dāng)慣了,就容易忽視下屬的感受,凡事都喜歡讓部屬揣摩上意,有時(shí)候還要制造令部屬又愛(ài)又怕的趕腳,時(shí)不時(shí)整點(diǎn)黑臉和呵...
    淮河源閱讀 1,235評(píng)論 1 0
  • 匆匆地開(kāi)始 又匆匆地結(jié)束 匆匆的幾筆寫(xiě)下的只言片語(yǔ) 尚構(gòu)不成一個(gè)故事 卻又終將被時(shí)間匆匆地沖去 你以飛鳥(niǎo)的印跡 出...
    超超2816閱讀 188評(píng)論 0 0

友情鏈接更多精彩內(nèi)容