黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Java虛擬機是什么

Java虛擬機是什么

更新時間:2021-04-20 16:29:10 來源:動力節點 瀏覽1402次

虛擬機是一種抽象化的計算機,通過在實際的計算機上仿真模擬各種計算機功能來實現的。Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。Java虛擬機屏蔽了與具體操作系統平臺相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。

1.定義

Java虛擬機(Java Virtual Machine 簡稱JVM)是運行所有Java程序的抽象計算機,是Java語言的運行環境,它是Java 最具吸引力的特性之一。

2.介紹

Java虛擬機(JVM)一種用于計算機設備的規范,可用不同的方式(軟件或硬件)加以實現。編譯虛擬機的指令集與編譯微處理器的指令集非常類似。Java虛擬機包括一套字節碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域。

Java虛擬機(JVM)是可運行Java代碼的假想計算機。只要根據JVM規格描述將解釋器移植到特定的計算機上,就能保證經過編譯的任何Java代碼能夠在該系統上運行。

Java虛擬機是一個想象中的機器,在實際的計算機上通過軟件模擬來實現。Java虛擬機有自己想象中的硬件,如處理器、堆棧、寄存器等,還具有相應的指令系統。

Java虛擬機規范定義了一個抽象的——而非實際的——機器或處理器。這個規范描述了一個指令集,一組寄存器,一個堆棧,一個“垃圾堆”,和一個方法區。一旦一個Java虛擬機在給定的平臺上運行,任何Java程序(編譯之后的程序,稱作字節碼)都能在這個平臺上運行。Java虛擬機(JVM)可以以一次一條指令的方式來解釋字節碼(把它映射到實際的處理器指令),或者字節碼也可以由實際處理器中稱作just-in-time的編譯器進行進一步的編譯。

3.特點

Java語言的一個非常重要的特點就是與平臺的無關性。而使用Java虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平臺上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機后,Java語言在不同平臺上運行時不需要重新編譯。Java語言使用模式Java虛擬機屏蔽了與具體平臺相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。Java虛擬機在執行字節碼時,把字節碼解釋成具體平臺上的機器指令執行。

4.使用主體

Java虛擬機是Java語言底層實現的基礎。這有助于理解Java語言的一些性質,也有助于使用Java語言。對于要在特定平臺上實現Java虛擬機的軟件人員,Java語言的編譯器作者以及要用硬件芯片實現Java虛擬機的人來說,則必須深刻理解Java虛擬機的規范。另外,如果你想擴展Java語言,或是把其它語言編譯成Java語言的字節碼,你也需要深入地了解Java虛擬機。

5.安裝方法

下載解壓:

  • 下載j2sdk-1_4_2_05-linux-i586.bin隨便放到一個目錄里,比如/tmp。
  • 在終端里輸入:sh j2sdk-1_4_2_05-linux-i586.bin回車
  • 之后會出現一堆軟件說明,按回車n次直到問你yes or no,當然回答yes,輸入y,回車后開始解壓縮。
  • 完成之后,在/tmp里就會出現一個名為j2sdk1.4.2_05的文件夾。

安裝:

  • 安裝很簡單:將j2sdk1.4.2_05文件夾復制到/usr目錄里。
  • 設置環境變量:
  • 只有設置好環境變量,系統才能調用java虛擬環境
  • 打開/etc/profile文件,在相關位置中加入:
  • export JAVA_HOME=/usr/j2sdk1.4.2_05
  • export PATH=/usr/j2sdk1.4.2_05/bin:$PATH
  • export CLASSPATH=/usr/j2sdk1.4.2_05/lib:/usr/j2sdk1.4.2_05/jre/lib:.:

保存:

  • 設置中文字體:
  • 注意:下面涉及到的文件請先備份,以防萬一!
  • 進入/usr/j2sdk1.4.2_05/jre/lib/文件夾
  • 刪除里面所有帶.zn的文檔,只留下font.properties.zh文檔。
  • 安裝simsun字體如果不喜歡simsun可以不裝。
  • 編輯font.properties.zh,將所有-tlc-song-medium-r-normal--*-%d-*-*-c-*-gbk-0 替換成:
  • -misc-simsun-medium-r-normal--*-%d-*-*-c-*-gbk-0(如果沒裝simsun字體,可以將-simsun-那里改成你喜歡的字體,前提是該字體在系統中存在)
  • 之后在終端中轉到目錄/usr/j2sdk1.4.2_05/jre/bin/下
  • 輸入命令:
  • ./ControlPanel回車

6.數據類型

Java虛擬機支持Java語言的基本數據類型有8種,注意String不是基本數據類型。

數據類型如下:

  • boolean://1字節有符號整數的補碼
  • byte://1字節有符號整數的補碼
  • short://2字節有符號整數的補碼
  • int://4字節有符號整數的補碼
  • long://8字節有符號整數的補碼
  • float://4字節IEEE754單精度浮點數
  • double://8字節IEEE754雙精度浮點數
  • char://2字節無符號Unicode字符

幾乎所有的Java類型檢查都是在編譯時完成的。上面列出的原始數據類型的數據在Java執行時不需要用硬件標記。操作這些原始數據類型數據的字節碼(指令)本身就已經指出了操作數的數據類型,例如iadd、ladd、fadd和dadd指令都是把兩個數相加,其操作數類型別是int、long、float和double。虛擬機沒有給boolean(布爾)類型設置單獨的指令。boolean型的數據是由integer指令,包括integer返回來處理的。boolean型的數組則是用byte數組來處理的。虛擬機使用IEEE754格式的浮點數。不支持IEEE格式的較舊的計算機,在運行Java數值計算程序時,可能會非常慢。

虛擬機支持的其它數據類型包括:

  • object//對一個Javaobject(對象)的4字節引用
  • returnAddress//4字節,用于jsr/ret/jsr-w/ret-w指令

注:Java數組被當作object處理。

虛擬機的規范對于object內部的結構沒有任何特殊的要求。在Sun公司的實現中,對object的引用是一個句柄,其中包含一對指針:一個指針指向該object的方法表,另一個指向該object的數據。用Java虛擬機的字節碼表示的程序應該遵守類型規定。Java虛擬機的實現應拒絕執行違反了類型規定的字節碼程序。Java虛擬機由于字節碼定義的限制似乎只能運行于32位地址空間的機器上。但是可以創建一個Java虛擬機,它自動地把字節碼轉換成64位的形式。從Java虛擬機支持的數據類型可以看出,Java對數據類型的內部格式進行了嚴格規定,這樣使得各種Java虛擬機的實現對數據的解釋是相同的,從而保證了Java的與平臺無關性和可移植性。

以上就是動力節點小編介紹的“Java類是什么”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為您服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 最近中文字幕大全高清视频 | 一级黄色片在线播放 | 亚洲无线一二三四手机 | 色网在线视频 | 日韩毛片在线免费观看 | 在线观看国产一区亚洲bd | 欧美性精品videofree | 视频www| 午夜黄色网 | 亚洲 欧美 日韩 在线 香蕉 | 国产精品福利小视频 | 日批免费| a级日本片在线观看 | 农村黄a三级三级三级 | 日韩欧美精品综合久久 | 成人xxxxxx| 天堂资源在线中文 | 国产乱理伦片在线看 | 在线观看不卡视频 | 国产日韩91 | 免费成年人视频 | 国产又湿又黄又硬又刺激 | 中文字幕亚洲国产 | 精品视频一区二区三区免费 | 青草悠悠视频在线观看 | 小明成人免费永久性看看 | 玖玖香蕉视频 | 午夜免费片在线观看不卡 | 亚洲国产高清视频 | 国产免费怡红院视频 | 亚洲欧美啪啪 | 日韩资源在线观看 | 国产成人精品午夜二三区 | 日韩精品一区在线 | 免费的黄色一级片 | 亚洲性视频在线 | 巨尻在线播放 | 免费观看呢日本天堂视频 | 久久久精品成人免费看 | 国产精品日本一区二区在线看 | 毛片在线观看网站 |