java必背代碼 jvm:java代碼是如何運行的?
jvm:java代碼是如何運行的?一、Java代碼運行流程A、基本流程一個Java項目,包含很多的「.java」為后綴的源代碼文件,除去IDE里直接執(zhí)行調(diào)試,一般來說,都是把代碼打成jar包,或者是w
jvm:java代碼是如何運行的?
一、Java代碼運行流程
A、基本流程
一個Java項目,包含很多的「.java」為后綴的源代碼文件,除去IDE里直接執(zhí)行調(diào)試,一般來說,都是把代碼打成jar包,或者是war包,最后將打包好的jar包或是war包傳到線上服務(wù)器部署。
部署方式很多,最基本的一種是通過Tomcat容器來部署,也可以是自己手動通過java命令來運行一個jar包中的代碼。
B、編譯
上述流程中有一個非常關(guān)鍵的點,「編譯」。
在java代碼打包的過程中,一般會把源代碼編譯成「.class」后綴的字節(jié)碼文件。只有字節(jié)碼文件class才能被JVM識別并解釋運行。
C、JVM進程
對于編譯好的class字節(jié)碼,需要使用諸如java -jar之類的命令來運行寫好的代碼;一旦使用java命令,實際上此時就會啟動一個JVM進程。
JVM進程會負責運行這些class字節(jié)碼文件,也就相當于負責運行我們寫好的代碼。
D、類加載
JVM要運行這些class字節(jié)碼文件中的代碼,會采用類加載器把編譯好的class字節(jié)碼文件加載進JVM內(nèi)存中
E、解釋執(zhí)行
最后JVM會基于自己的字節(jié)碼執(zhí)行引擎,來執(zhí)行加載到內(nèi)存里的類。當JVM需要哪個類時,會使用類加載器來加載對應(yīng)的類。
Java編程軟件有哪些?你怎么看?
Java核心軟件當然是jdk14,最新版是Jdk15. 編譯軟件有eclipse,Intellij IDEA(這個需要的內(nèi)存更大一些)。JCeator更加小巧,不過好像現(xiàn)在用的人好少了吧。