學習 Java 之 位元組碼驗證

夏末?發表於2020-10-20

一個class檔案被載入到JVM記憶體後,首先要經過位元組碼驗證,驗證通過,再確定哪些程式碼是解釋執行的,哪些程式碼是即時編譯執行的(即時編譯:Just In Time 簡寫JIT);

1.位元組碼驗證:

檢查class檔案的把呢不能和jvm版本是否相容

檢查程式碼是否會破壞系統完整性

檢查程式碼是否有棧溢位的情況

檢查當前程式碼引數型別是否正確

...

...

2.解釋執行:

jvm將class位元組碼檔案解釋成計算機可以執行的程式碼

如果所有程式碼都是這樣執行的話,效率會比較慢

 

3.JIT即時編譯:

即時編譯是jvm執行java程式碼的一種方式,jvm可以使用JIT把java中的熱點程式碼直接編譯成計算機可以執行的程式碼

以後要呼叫這個熱點程式碼時候,就可以直接用編譯好的程式碼讓計算機直接執行,可以執行執行效率

 

 

 

 

                                                                                                                        歡迎評論~

相關文章