java的工作原理
阿新 • • 發佈:2017-10-16
java
1java虛擬機
Java虛擬機其實是軟件模擬的計算機,它可以在任何處理器上解釋並執行字Java的字節碼文件。Java的字節碼被稱為Java虛擬機的機器碼,它被保存在擴展名為.class的文件中。
首先Java源程序需要通過Java編譯器編譯成擴展名為.class的字節碼文件,然後由Java虛擬機中的Java解釋器負責將字節碼文件解釋成為特定的機器碼並執行。
2內存自動回收機制
在程序的執行過程中,系統會給創建的對象分配內存,當這些對象不再被引用時,它們所占用的內存會處於廢棄狀態,如果不及時對這些廢棄的內存進行回收,就會帶來程序運行效率下降等問題。
在Java運行環境中,始終存在著一個系統級的線程,專門跟蹤對象的使用情況,定期檢測出不再使用的對象,自動回收它們占用的內存空間,並重新分配這些內存空間讓它們為程序所用。Java的這種廢棄內存自動回收機制,能夠在編寫程序時不需要考慮對象的內存分配問題。
3代碼安全性檢查機制
Java是網絡編程語言,在網絡上運行的程序必須保證其安全性。如何保證從網絡上下載的Java程序不攜帶病毒而安全地執行呢?Java提供了代碼安全性檢查機制。
Java在將一個擴展名為 .class的字節碼文件裝載到虛擬機執行之前,先要檢驗該字節碼文件是否符合字節碼文件規範,代碼中是否存在著某些非法操作。檢驗工作由字節碼檢驗器或安全管理器進行。檢驗通過之後,將字節碼文件加載到Java虛擬機中,由Java解釋器解釋為機器碼並執行。java虛擬機把程序的代碼和數據都限制在一定內存空間裏執行,不允許程序訪問超出該範圍,保證了程序的安全運行。
java的工作原理