成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

java源文件怎么保存 Java源程序如何變成Java字節(jié)碼?

Java源程序如何變成Java字節(jié)碼?編譯器默認(rèn)都會將java文件變成字節(jié)碼,讓電腦看的懂手動的話就用cmd javac xxxx.java 編譯jvm:java代碼是如何運(yùn)行的?一、Java代碼運(yùn)行

Java源程序如何變成Java字節(jié)碼?

編譯器默認(rèn)都會將java文件變成字節(jié)碼,讓電腦看的懂手動的話就用cmd javac xxxx.java 編譯

jvm:java代碼是如何運(yùn)行的?

一、Java代碼運(yùn)行流程

A、基本流程

一個Java項目,包含很多的「.java」為后綴的源代碼文件,除去IDE里直接執(zhí)行調(diào)試,一般來說,都是把代碼打成jar包,或者是war包,最后將打包好的jar包或是war包傳到線上服務(wù)器部署。

部署方式很多,最基本的一種是通過Tomcat容器來部署,也可以是自己手動通過java命令來運(yùn)行一個jar包中的代碼。

B、編譯

上述流程中有一個非常關(guān)鍵的點(diǎn),「編譯」。

在java代碼打包的過程中,一般會把源代碼編譯成「.class」后綴的字節(jié)碼文件。只有字節(jié)碼文件class才能被JVM識別并解釋運(yùn)行。

C、JVM進(jìn)程

對于編譯好的class字節(jié)碼,需要使用諸如java -jar之類的命令來運(yùn)行寫好的代碼;一旦使用java命令,實際上此時就會啟動一個JVM進(jìn)程。

JVM進(jìn)程會負(fù)責(zé)運(yùn)行這些class字節(jié)碼文件,也就相當(dāng)于負(fù)責(zé)運(yùn)行我們寫好的代碼。

D、類加載

JVM要運(yùn)行這些class字節(jié)碼文件中的代碼,會采用類加載器把編譯好的class字節(jié)碼文件加載進(jìn)JVM內(nèi)存中

E、解釋執(zhí)行

最后JVM會基于自己的字節(jié)碼執(zhí)行引擎,來執(zhí)行加載到內(nèi)存里的類。當(dāng)JVM需要哪個類時,會使用類加載器來加載對應(yīng)的類。