Java之字節(jié)碼以及優(yōu)勢案例講解
一、Java編譯器
Java中引入了虛擬機的概念,即在機器和編譯程序之間加入了一層抽象的虛擬的機器,。這臺虛擬的機器在任何平臺上都提供給編譯程序一個共同的接口。編譯程序只需要面向虛擬機,生成虛擬機能夠理解的代碼,然后由解釋器來將虛擬機代碼來將虛擬機代碼轉(zhuǎn)換為特定的系統(tǒng)機器碼執(zhí)行。在Java中,這種提供虛擬機理解的代碼叫做字節(jié)碼(即擴展名為 .class的文件),它不面向任何特定的處理器,僅僅只面向虛擬機。
1.利用記事本寫一段Java代碼
2.將記事本命名為 hello.java
3.cmd+r命令,彈出DOS窗口輸入如下命令 回車
小結(jié)
到E盤下就可以看到此次提供虛擬機理解的代碼叫做字節(jié)碼(即擴展名為 .class的文件)
二、Java解釋器
每一種平臺的解釋器是不相同的,但是實現(xiàn)虛擬機是相同的。Java源程序經(jīng)過編譯器編譯后變成字節(jié)碼,字節(jié)碼由虛擬機解釋執(zhí)行,虛擬機將每一條要執(zhí)行的字節(jié)碼送給解釋器,解釋器將其翻譯成特定機器上的機器碼,然后在特定的機器上運行。這也就是解釋了Java的編譯與解釋并存的特點
三、采用字節(jié)碼的好處
Java語言通過字節(jié)碼的方式,在一定程度上解決了傳統(tǒng)解釋語言執(zhí)行效率低的問題,同時又保留了解釋型語言可移植的特點。所以Java程序運行時比較高效,而且,字節(jié)碼并不專一種特定的機器,所以Java程序無需編譯便可以在多種不同的計算機上運行,從而實現(xiàn)了Java的跨平臺運行。
到此這篇關(guān)于Java之字節(jié)碼以及優(yōu)勢案例講解的文章就介紹到這了,更多相關(guān)Java之字節(jié)碼以及優(yōu)勢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 學(xué)會Java字節(jié)碼指令,成為技術(shù)大佬
- Java字節(jié)碼增強技術(shù)知識點詳解
- 詳解Java動態(tài)字節(jié)碼技術(shù)
- 詳解Java字節(jié)碼編程之非常好用的javassist
- 淺談javap命令拆解字節(jié)碼文件
- Java字節(jié)碼中jvm實例用法
- Javassist如何操作Java 字節(jié)碼
- Java中invokedynamic字節(jié)碼指令問題
- java獲取版本號及字節(jié)碼編譯版本方法示例
- java 獲取字節(jié)碼文件的幾種方法總結(jié)
- java 中如何獲取字節(jié)碼文件的相關(guān)內(nèi)容
- java字節(jié)碼框架ASM操作字節(jié)碼的方法淺析
- java字節(jié)碼框架ASM的深入學(xué)習(xí)
- Java 將字符串動態(tài)生成字節(jié)碼的實現(xiàn)方法
- 通過java字節(jié)碼分析學(xué)習(xí)對象初始化順序
- Java字節(jié)碼的增強技術(shù)
相關(guān)文章
SpringBoot使用阿里OSS實現(xiàn)文件云存儲的方法
這篇文章主要介紹了SpringBoot使用阿里OSS實現(xiàn)文件云存儲,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10基于Java多線程notify與notifyall的區(qū)別分析
本篇文章對Java中多線程notify與notifyall的區(qū)別進行了詳細的分析介紹。需要的朋友參考下2013-05-05已解決:No ''Access-Control-Allow-Origin''跨域問題
這篇文章主要介紹了已解決:No 'Access-Control-Allow-Origin' 跨域,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Java中的 FilterInputStream簡介_動力節(jié)點Java學(xué)院整理
FilterInputStream 的作用是用來“封裝其它的輸入流,并為它們提供額外的功能”。接下來通過本文給大家分享Java中的 FilterInputStream簡介,感興趣的朋友一起學(xué)習(xí)吧2017-05-05