武漢專業(yè)做網站開發(fā)的公司新網站seo外包
一、概述
1.1、Java發(fā)展中的重大事件
1.2、虛擬機 vs Java虛擬機
1.2.1、虛擬機
1.2.2、Java虛擬機
1.2.3、Java虛擬機的作用
? ? ? ? Java虛擬機是二進制字節(jié)碼的運行環(huán)境,負責裝載字節(jié)碼到其內部,解釋/編譯為對應平臺上的機器指令指令。每一條Java指令,Java虛擬機規(guī)范中都有詳細的定義,如怎么取操作數,怎么處理操作數,處理結果放在哪里。
1.2.4、特點
一次編譯,到處運行;
自動內存管理;
自動垃圾回收功能;
1.3、JVM的位置
JVM是運行在操作系統(tǒng)之上的,它與硬件沒有直接的交互。
1.4、JVM的架構圖(概覽圖)
HotSpot JVM是目前市面上高性能虛擬機的代表之一;
它采用解釋器與即時編譯器并存的架構;
在今天,Java程序的運行性能早已脫胎換骨,已經達到了可以和C/C++程序一較高下的地步;
1.5、JVM的架構圖(詳細圖)
1.6、JVM的生命周期
1.6.1、啟動
? ? ? ? Java虛擬機的啟動時通過引導類加載器創(chuàng)建一個初始類來完成的,這個類是由虛擬機的具體實現指定的。
1.6.2、運行
(1)一個運行中的Java虛擬機有著一個清晰的任務,即:執(zhí)行Java程序;
(2)程序開始執(zhí)行時它才執(zhí)行,程序結束時它就停止;
(3)執(zhí)行一個所謂Java程序的時候,真真正正在執(zhí)行的是一個叫做Java虛擬機的進程;
1.6.3、退出
當出現以下情況時,虛擬機將會退出:
(1)程序正常執(zhí)行結束;
(2)程序在運行過程中遇到了異?;蛘咤e誤而異常終止;
(3)由于操作系統(tǒng)出現錯誤而導致Java虛擬機進程終止;
(4)線程調用Runtime類或者System類的exit()方法,或者調用Runtime類的halt()方法,并且Java安全管理器也允許這次exit或者halt操作;