自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

術(shù)語(yǔ)匯編 Java虛擬機(jī)概述

開(kāi)發(fā) 后端
你對(duì)Java虛擬機(jī)的概念是否了解,這里向大家描述一下,JavaVirtualMachine簡(jiǎn)稱JVMJava虛擬機(jī)是一個(gè)想象中的機(jī)器,在實(shí)際的計(jì)算機(jī)上通過(guò)軟件模擬來(lái)實(shí)現(xiàn)。

本文向大家描述一下Java虛擬機(jī)的概念和用法,它是運(yùn)行所有Java程序的抽象計(jì)算機(jī),是Java語(yǔ)言的運(yùn)行環(huán)境,并且Java虛擬機(jī)有自己想象中的硬件,如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。

Java虛擬機(jī)

Java虛擬機(jī)(JavaVirtualMachine)簡(jiǎn)稱JVMJava虛擬機(jī)是一個(gè)想象中的機(jī)器,在實(shí)際的計(jì)算機(jī)上通過(guò)軟件模擬來(lái)實(shí)現(xiàn)。Java虛擬機(jī)有自己想象中的硬件,如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。

什么是Java虛擬機(jī)

  Java虛擬機(jī)(JavaVirtualMachine簡(jiǎn)稱JVM)是運(yùn)行所有Java程序的抽象計(jì)算機(jī),是Java語(yǔ)言的運(yùn)行環(huán)境,它是Java***吸引力的特性之一。

Java虛擬機(jī)的特點(diǎn)

  Java語(yǔ)言的一個(gè)非常重要的特點(diǎn)就是與平臺(tái)的無(wú)關(guān)性。而使用Java虛擬機(jī)是實(shí)現(xiàn)這一特點(diǎn)的關(guān)鍵。一般的高級(jí)語(yǔ)言如果要在不同的平臺(tái)上運(yùn)行,至少需要編譯成不同的目標(biāo)代碼。而引入Java語(yǔ)言虛擬機(jī)后,Java語(yǔ)言在不同平臺(tái)上運(yùn)行時(shí)不需要重新編譯。Java語(yǔ)言使用模式Java虛擬機(jī)屏蔽了與具體平臺(tái)相關(guān)的信息,使得Java語(yǔ)言編譯程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。Java虛擬機(jī)在執(zhí)行字節(jié)碼時(shí),把字節(jié)碼解釋成具體平臺(tái)上的機(jī)器指令執(zhí)行。idobelieve

Java虛擬機(jī)的使用主體

  Java虛擬機(jī)是Java語(yǔ)言底層實(shí)現(xiàn)的基礎(chǔ),對(duì)Java語(yǔ)言感興趣的人都應(yīng)對(duì)Java虛擬機(jī)有個(gè)大概的了解。這有助于理解Java語(yǔ)言的一些性質(zhì),也有助于使用Java語(yǔ)言。對(duì)于要在特定平臺(tái)上實(shí)現(xiàn)Java虛擬機(jī)的軟件人員,Java語(yǔ)言的編譯器作者以及要用硬件芯片實(shí)現(xiàn)Java虛擬機(jī)的人來(lái)說(shuō),則必須深刻理解Java虛擬機(jī)的規(guī)范。另外,如果你想擴(kuò)展Java語(yǔ)言,或是把其它語(yǔ)言編譯成Java語(yǔ)言的字節(jié)碼,你也需要深入地了解Java虛擬機(jī)。

Java虛擬機(jī)支持的數(shù)據(jù)類型

◆Java虛擬機(jī)支持Java語(yǔ)言的基本數(shù)據(jù)類型如下:  

  1. byte://1字節(jié)有符號(hào)整數(shù)的補(bǔ)碼   
  2.    
  3. short://2字節(jié)有符號(hào)整數(shù)的補(bǔ)碼   
  4.    
  5. int://4字節(jié)有符號(hào)整數(shù)的補(bǔ)碼   
  6.    
  7. long://8字節(jié)有符號(hào)整數(shù)的補(bǔ)碼   
  8.    
  9. float://4字節(jié)IEEE754單精度浮點(diǎn)數(shù)   
  10.    
  11. double://8字節(jié)IEEE754雙精度浮點(diǎn)數(shù)    
  12.  
  13. char://2字節(jié)無(wú)符號(hào)Unicode字符  

幾乎所有的Java類型檢查都是在編譯時(shí)完成的。上面列出的原始數(shù)據(jù)類型的數(shù)據(jù)在Java執(zhí)行時(shí)不需要用硬件標(biāo)記。操作這些原始數(shù)據(jù)類型數(shù)據(jù)的字節(jié)碼(指令)本身就已經(jīng)指出了操作數(shù)的數(shù)據(jù)類型,例如iadd、ladd、fadd和dadd指令都是把兩個(gè)數(shù)相加,其操作數(shù)類型別是int、long、float和double。虛擬機(jī)沒(méi)有給boolean(布爾)類型設(shè)置單獨(dú)的指令。

boolean型的數(shù)據(jù)是由integer指令,包括integer返回來(lái)處理的。boolean型的數(shù)組則是用byte數(shù)組來(lái)處理的。虛擬機(jī)使用IEEE754格式的浮點(diǎn)數(shù)。不支持IEEE格式的較舊的計(jì)算機(jī),在運(yùn)行Java數(shù)值計(jì)算程序時(shí),可能會(huì)非常慢?! ?/p>

Java虛擬機(jī)支持的其它數(shù)據(jù)類型包括:  

  1. object//對(duì)一個(gè)Javaobject(對(duì)象)的4字節(jié)引用    
  2. returnAddress//4字節(jié),用于jsr/ret/jsr-w/ret-w指令   
  3.  

注:Java數(shù)組被當(dāng)作object處理?! ?/p>

虛擬機(jī)的規(guī)范對(duì)于object內(nèi)部的結(jié)構(gòu)沒(méi)有任何特殊的要求。在Sun公司的實(shí)現(xiàn)中,對(duì)object的引用是一個(gè)句柄,其中包含一對(duì)指針:一個(gè)指針指向該object的方法表,另一個(gè)指向該object的數(shù)據(jù)。用Java虛擬機(jī)的字節(jié)碼表示的程序應(yīng)該遵守類型規(guī)定。

Java虛擬機(jī)的實(shí)現(xiàn)應(yīng)拒絕執(zhí)行違反了類型規(guī)定的字節(jié)碼程序。Java虛擬機(jī)由于字節(jié)碼定義的限制似乎只能運(yùn)行于32位地址空間的機(jī)器上。但是可以創(chuàng)建一個(gè)Java虛擬機(jī),它自動(dòng)地把字節(jié)碼轉(zhuǎn)換成64位的形式。從Java虛擬機(jī)支持的數(shù)據(jù)類型可以看出,Java對(duì)數(shù)據(jù)類型的內(nèi)部格式進(jìn)行了嚴(yán)格規(guī)定,這樣使得各種Java虛擬機(jī)的實(shí)現(xiàn)對(duì)數(shù)據(jù)的解釋是相同的,從而保證了Java的與平臺(tái)無(wú)關(guān)性和可移植性。

【編輯推薦】

  1. Java虛擬機(jī)概念及體系結(jié)構(gòu)
  2. 發(fā)現(xiàn)Java虛擬機(jī)內(nèi)存泄露問(wèn)題
  3. 深入Java虛擬機(jī):JVM中的Stack和Heap
  4. Java虛擬機(jī)發(fā)展回顧 為跨平臺(tái)而生
  5. Java虛擬機(jī)(JVM)中的內(nèi)存設(shè)置詳解
責(zé)任編輯:佚名 來(lái)源: hi.baidu.com
相關(guān)推薦

2010-08-05 14:51:36

AdobeFlex

2010-07-13 10:21:19

2010-07-19 16:56:56

Perl線程

2010-07-30 10:23:46

Flex數(shù)據(jù)綁定

2010-09-13 13:27:25

CSS濾鏡

2010-09-17 09:19:08

Java API

2010-06-07 13:02:46

Hadoop簡(jiǎn)介

2010-06-11 18:27:39

UML對(duì)象圖

2010-07-08 09:50:11

UML構(gòu)件圖

2010-06-11 09:33:47

UML順序圖

2010-09-26 17:04:48

JVMJava虛擬機(jī)

2010-06-29 15:06:14

UML建模

2010-07-13 09:02:16

Perl

2010-07-27 08:59:19

FlexBuilder

2010-07-26 16:54:15

Perl引用

2010-08-10 10:32:02

Flex語(yǔ)言

2010-06-10 18:27:00

UML語(yǔ)言

2010-07-05 17:28:57

UML動(dòng)態(tài)模型圖

2010-07-09 13:16:46

UML動(dòng)態(tài)建模機(jī)制

2010-07-28 15:21:01

Flex函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)