探索Java工作原理之JVM內存回收
你對JVM內存回收的概念是否了解,這里和大家分享一下,為了提高Java語言的性能和健壯性,還引入了如垃圾回收機制等新功能,通過這些改進讓Java具有其獨特的工作原理。
深入探索Java工作原理:JVM內存回收
Java語言引入了Java虛擬機,具有跨平臺運行的功能,能夠很好地適應各種Web應用。同時,為了提高Java語言的性能和健壯性,還引入了如垃圾回收機制等新功能,通過這些改進讓Java具有其獨特的工作原理。
1.Java虛擬機
Java虛擬機(JavaVirtualMachine,JVM)是軟件模擬的計算機,它可以在任何處理器上(無論是在計算機中還是在其他電子設備中)安全兼容地執行保存在.class文件中的字節碼。Java虛擬機的“機器碼”保存在.class文件中,有時也可以稱之為字節碼文件。
Java程序的跨平臺特性主要是指字節碼文件可以在任何具有Java虛擬機的計算機或者電子設備上運行,Java虛擬機中的Java解釋器負責將字節碼文件解釋成為特定的機器碼進行運行。因此在運行時,Java源程序需要通過編譯器編譯成為.class文件。
Java虛擬機的建立需要針對不同的軟硬件平臺來實現,既要考慮處理器的型號,也要考慮操作系統的種類。由此在SPARC結構、X86結構、MIPS和PPC等嵌入式處理芯片上,在UNIX、Linux、Windows和部分實時操作系統上都可實現Java虛擬機。
2.無用內存自動回收機制
在程序的執行過程中,部分內存在使用過后就處于廢棄狀態,如果不及時進行回收,很有可能會導致內存泄漏,進而引發系統崩潰。在C++語言中是由程序員進行內存回收的,程序員需要在編寫程序時把不再使用的對象內存釋放掉,這種人為管理內存釋放的方法往往由于程序員的疏忽而致使內存無法回收,同時也增加了程序員的工作量。而在Java運行環境中,始終存在著一個系統級的線程,專門跟蹤內存的使用情況,定期檢測出不再使用的內存,并自動進行回收,避免了內存的泄露,也減輕了程序員的工作量。
3.代碼安全性檢查機制
安全和方便總是相對矛盾的。Java編程語言的出現使得客戶端計算機可以方便地從網絡上上傳或下載Java程序到本地計算機上運行,但是如何保證該Java程序不攜帶病毒或者沒有其他危險目的呢?為了確保Java程序執行的安全性,Java語言通過Applet程序來控制非法程序的安全性,也就是有了它才確保Java語言的生存。
【編輯推薦】