java是什么 jvm:java代碼是如何運(yùn)行的?
jvm:java代碼是如何運(yùn)行的?一個(gè)java項(xiàng)目包含了大量帶有“~”的源代碼文件。Java“后綴。除了直接在IDE中調(diào)試外,一般來(lái)說(shuō),代碼類(lèi)型是jar包或war包,最后打包的jar包或war包被發(fā)送
jvm:java代碼是如何運(yùn)行的?
一個(gè)java項(xiàng)目包含了大量帶有“~”的源代碼文件。Java“后綴。除了直接在IDE中調(diào)試外,一般來(lái)說(shuō),代碼類(lèi)型是jar包或war包,最后打包的jar包或war包被發(fā)送到在線服務(wù)器進(jìn)行部署。
部署的方法有很多,最基本的方法是通過(guò)Tomcat容器進(jìn)行部署,也可以通過(guò)Java命令手動(dòng)運(yùn)行jar包中的代碼。
。
在Java代碼打包過(guò)程中,源代碼通常被編譯成一個(gè)字節(jié)碼文件,并帶有“。“類(lèi)”后綴。JVM只能識(shí)別和解釋字節(jié)碼文件類(lèi)。
對(duì)于已編譯的類(lèi)字節(jié)碼,您需要使用諸如Java-jar之類(lèi)的命令來(lái)運(yùn)行已編寫(xiě)的代碼;一旦使用Java命令,此時(shí)您將實(shí)際啟動(dòng)JVM進(jìn)程。
JVM進(jìn)程將負(fù)責(zé)運(yùn)行這些類(lèi)字節(jié)碼文件,這相當(dāng)于運(yùn)行我們編寫(xiě)的代碼。
要運(yùn)行這些類(lèi)字節(jié)碼文件中的代碼,JVM將使用類(lèi)加載器將編譯后的類(lèi)字節(jié)碼文件加載到JVM的內(nèi)存中
執(zhí)行加載到內(nèi)存中的類(lèi)。當(dāng)JVM需要哪個(gè)類(lèi)時(shí),它將使用類(lèi)加載器來(lái)加載相應(yīng)的類(lèi)。
我的電腦裝了Java,一切正常,就是不能運(yùn)行,怎么辦?
電腦安裝了Java,一切正常,只是不能運(yùn)行,因?yàn)橄到y(tǒng)版本不是最新版本,需要更新到最新版本才能正常使用
如何運(yùn)行Java程序1。上網(wǎng)下載JDK(JDK是一個(gè)編譯器,是用來(lái)解釋Java代碼的執(zhí)行)2。配置path和classpath的環(huán)境變量。轉(zhuǎn)到“我的電腦”屬性“高級(jí)”中的“系統(tǒng)變量”以配置路徑和類(lèi)路徑環(huán)境變量。三。測(cè)試。打開(kāi)DOS界面,輸入javac,然后按enter鍵。如果有很多英語(yǔ),這意味著你的環(huán)境變量已經(jīng)配置好了。至此,您的Java環(huán)境已經(jīng)就緒。4編寫(xiě)一個(gè)簡(jiǎn)單的java程序進(jìn)行編譯和執(zhí)行,看看是否可以使用。之后,一切正常
Java程序運(yùn)行感謝JVM虛擬機(jī)
用C語(yǔ)言編譯的程序?qū)⑼ㄟ^(guò)編譯器編譯成exe文件,然后將exe可執(zhí)行文件交給windows系統(tǒng)運(yùn)行。為什么不問(wèn)問(wèn)exe文件是如何運(yùn)行的?可能是因?yàn)檫@是常識(shí)
Java程序和exe文件的運(yùn)行方式是一樣的。Java程序首先被編譯成類(lèi)文件,然后類(lèi)文件被傳遞到JVM中運(yùn)行。JVM在操作系統(tǒng)上運(yùn)行。JVM就像Java程序和操作系統(tǒng)之間的轉(zhuǎn)換器,將Java代碼翻譯成操作系統(tǒng)執(zhí)行,因?yàn)镴ava程序在虛擬機(jī)上運(yùn)行,虛擬機(jī)可以處理Java程序,比如內(nèi)存回收。在虛擬機(jī)中,內(nèi)存還分為堆、堆棧、方法區(qū)等,便于堆內(nèi)存管理
與Java類(lèi)似,所有解釋語(yǔ)言都不能直接與操作系統(tǒng)通信,中間有一個(gè)翻譯角色,如python、PHP等