java運行環境

1.      java跨平臺原理

java運行圖片

java運行圖片

1)     java程序經過編譯後會生成與平臺無關的字節碼文件;

2)     jvm可以解釋執行字節碼文件(JVM不是跨平臺的)

2.      java開發環境

1)     JDK :java Development Kit,java標準開發包,是sun公司提供的一套用於開發java應用程序的開發包,它提供了編譯 運行java程序所需的各種工具和資源,包括java編譯器,java運行環境,以及常用的java類庫

2)     JRE :java運行時環境 (java Runtime Environment),是運行java程序必需的條件。

   JVM和JRE的關係:

      JRE包含JVM。JVM是運行java程序的核心虛擬機,而運行java程序不僅需要核心虛擬機,還需要其他類加載器,字節碼校驗器以及大量的基礎類庫。JRE除了包含JVM之外,還包含運行java程序的其他環境支持。

3.      垃圾回收機制

在java中,當沒有對象引用指向指向原先分配給某個對象的內存時,該對象內存便成爲了垃圾,JVM的一個系統級線程會自動釋放該內存。事實上,除了釋放沒用的對象外,垃圾回收也可以清除內存記錄碎片。

1)     垃圾回收的優點:垃圾回收機制能很好的提高編程效率;垃圾回收機制保護程序的完整性,垃圾回收是java安全性策略的一個重要部分。垃圾回收的缺點:影響程序性能。

2)     垃圾回收的特點:

a.      垃圾回收機制的工作目標是回收無用對象的內存空間,這些內存空間都是JVM堆內存裏的內存空間,垃圾回收只能回收內存資源,對其他物理資源,如數據庫連接,磁盤I/O等資源則無能爲力。

b.     爲了更快地讓垃圾回收機制回收那些不再使用的對象,可以將該對象的引用變量設置爲null,通過這種方式暗示垃圾回收機制可以回收該對象。

c.      垃圾回收發生的不可預知性。由於不同的JVM採用了不同的垃圾回收機制和不同的垃圾回收算法,因此它有可能是定時發生的,有可能是當CPU空閒時發生的,也有可能是等到內存消耗極限時發生,這和垃圾回收實現機制的選擇及具體的設置都有關係。

d.     垃圾回收精確性主要包括兩個方面:一是垃圾回收機制能精確地標記活着的對象;二是垃圾回收器能夠精確地定位對象之間的引用關係。

e.      現在的JVM有多種不同的垃圾回收實現,每種回收機制因其算法差異可能表現各異,有的當垃圾回收開始時就停止應用程序的運行,有的當垃圾回收運行時允許應用程序的線程運行,還有的在同一時間允許垃圾回收多線程運行。<參考自  瘋狂java講義>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章