Java程序運行的過程是這樣的:
類加載器(class loader)加載程序運行所需要的所有類,它通過區分本機文件系統的類和網絡系統導入的類增加安全性,這可以限制任何的特洛伊木馬程序,因為本機類總是先被加載,一旦所有的類被加載完,執行文件的內存劃分就固定了,在這個時候特定的內存地址被分配給對應的符號引用,查找表(lookuo table)也被建立,由于內存劃分發生在運行時,解釋器在受限制的代碼區增加保護防止未授權的訪問;然后字節碼校驗器(byte code verifier)進行校驗,主要執行下面的檢查:類符合JVM規范的類文件格式,沒有違反訪問限制,代碼沒有造成堆棧的上溢或者下溢,所有操作代碼的參數類型都是正確的,沒有非法的數據類型轉換(例如將整型數轉換成對象類型)發生;校驗通過的字節碼被解釋器(interpreter)執行,解釋器在必要時通過運行時系統執行對底層硬件的合適調用。后三個答案是SL275中的原話