新聞中心
學習JVM當然要看官方文檔呀,以下地址可以下載各個版本的官方文檔
Java SE Specifications?
1、JVM的架構模型Java編譯器輸入的指令流基本上是一種基于棧的指令集架構,另外一種指令集架構則是基于寄存器的指令集架構。
具體來說:這兩種架構之間的區(qū)別:
基于棧式架構的特點:
1、設計和實現更簡單,適用于資源受限的系統(tǒng);
2、避開了寄存器的分配難題,使用零地址指令方式分配。
3、指令流中的指令大部分是零地址指令,其執(zhí)行過程依賴于操作棧。指令集更小,編譯器容易實現。
4、不需要硬件支持,可移植性更好,更好實現跨平臺。
基于寄存器架構的特點:
2、JVM的生命周期1、典型的應用是x86的二進制指令集,比如傳統(tǒng)的PC以及Android的Davlik虛擬機。
2、指令集架構則完全依賴硬件,可移植性差;
3、性能優(yōu)秀和執(zhí)行更高效;
4、花費更少的指令去完成一項操作;
5、在大部分情況下,基于寄存器架構的指令集往往都以一地址指令,二地址指令和三地址指令為主,而基于棧式架構的指令集卻是以零地址指令為主。?
虛擬機的啟動
Java虛擬機的啟動是通過引導類加載器(bootstrap class loader)創(chuàng)建一個初始類(initial class)來完成的,這個類是由虛擬機的具體實現指定的。
虛擬機的執(zhí)行
一個運行中的Java虛擬機有著一個清晰的任務,執(zhí)行Java程序,程序開始執(zhí)行時它才運行,程序結束時他就停止。執(zhí)行一個所謂的Java程序的時候,真真正正在執(zhí)行的是一個叫做Java虛擬機的進程。
虛擬機的退出
有如下幾種情況:
程序正常執(zhí)行結束;程序在執(zhí)行過程中遇到了異?;蝈e誤而異常終止;某線程調用Runtime類或System類的exit方法,或Runtime類的halt方法,并且Java安全管理器也允許這次exit或halt操作;
除此之外,JNI(Java Native Interface)規(guī)范描述了用JNI Invocation API來加載或卸載Java虛擬機時,Java虛擬機退出情況。
為學日益,為道日損。損之又損,以至于無為。無為而無不為。取天下常以無事,及其有事,不足以取天下矣。
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
新聞標題:JVM基礎(一)-創(chuàng)新互聯(lián)
文章轉載:http://fisionsoft.com.cn/article/depcoe.html