java類加載執(zhí)行順序 jvm:java代碼是如何運(yùn)行的?
jvm:java代碼是如何運(yùn)行的?一個java項目包含了大量帶有“~”的源代碼文件。Java“后綴。除了直接在IDE中調(diào)試外,一般來說,代碼類型是jar包或war包,最后打包的jar包或war包被發(fā)送
jvm:java代碼是如何運(yùn)行的?
一個java項目包含了大量帶有“~”的源代碼文件。Java“后綴。除了直接在IDE中調(diào)試外,一般來說,代碼類型是jar包或war包,最后打包的jar包或war包被發(fā)送到在線服務(wù)器進(jìn)行部署。
部署的方法有很多,最基本的方法是通過Tomcat容器進(jìn)行部署,也可以通過Java命令手動運(yùn)行jar包中的代碼。
。
在Java代碼打包過程中,源代碼通常被編譯成一個字節(jié)碼文件,并帶有“?!邦悺焙缶Y。JVM只能識別和解釋字節(jié)碼文件類。
對于已編譯的類字節(jié)碼,您需要使用諸如Java-jar之類的命令來運(yùn)行已編寫的代碼;一旦使用Java命令,此時您將實際啟動JVM進(jìn)程。
JVM進(jìn)程將負(fù)責(zé)運(yùn)行這些類字節(jié)碼文件,這相當(dāng)于運(yùn)行我們編寫的代碼。
要運(yùn)行這些類字節(jié)碼文件中的代碼,JVM將使用類加載器將編譯后的類字節(jié)碼文件加載到JVM的內(nèi)存中
執(zhí)行加載到內(nèi)存中的類。當(dāng)JVM需要哪個類時,它將使用類加載器來加載相應(yīng)的類。
java里有多少個類加載器?
Java加載程序有兩種類型:一種是自定義加載程序,另一種是Java加載程序。有三個系統(tǒng)類加載器:引導(dǎo)類加載器、擴(kuò)展類加載器、系統(tǒng)類加載器(和線程上下文類加載器,但主要有三個);用戶定義的類加載器使用繼承java.lang.ClassLoader類加載器類,它不指定數(shù)量。
Java類加載器負(fù)責(zé)讀取Java字節(jié)碼并將其轉(zhuǎn)換為java.lang.Class類班級。
類加載器主要有五個階段:1。加載:找到要加載的類的字節(jié)碼,創(chuàng)建實例對象
2。驗證:檢查字節(jié)信息,防止對虛擬機(jī)造成傷害
3。準(zhǔn)備:為類變量分配內(nèi)存,并指定初始化值
4。解析:用直接引用替換常量池中的符號引用的過程
5。初始化:如果類有一個超類,那么初始化它