Java之字節(jié)碼以及優(yōu)勢(shì)案例講解
一、Java編譯器
Java中引入了虛擬機(jī)的概念,即在機(jī)器和編譯程序之間加入了一層抽象的虛擬的機(jī)器,。這臺(tái)虛擬的機(jī)器在任何平臺(tái)上都提供給編譯程序一個(gè)共同的接口。編譯程序只需要面向虛擬機(jī),生成虛擬機(jī)能夠理解的代碼,然后由解釋器來(lái)將虛擬機(jī)代碼來(lái)將虛擬機(jī)代碼轉(zhuǎn)換為特定的系統(tǒng)機(jī)器碼執(zhí)行。在Java中,這種提供虛擬機(jī)理解的代碼叫做字節(jié)碼(即擴(kuò)展名為 .class的文件),它不面向任何特定的處理器,僅僅只面向虛擬機(jī)。
1.利用記事本寫(xiě)一段Java代碼

2.將記事本命名為 hello.java

3.cmd+r命令,彈出DOS窗口輸入如下命令 回車(chē)

小結(jié)
到E盤(pán)下就可以看到此次提供虛擬機(jī)理解的代碼叫做字節(jié)碼(即擴(kuò)展名為 .class的文件)

二、Java解釋器
每一種平臺(tái)的解釋器是不相同的,但是實(shí)現(xiàn)虛擬機(jī)是相同的。Java源程序經(jīng)過(guò)編譯器編譯后變成字節(jié)碼,字節(jié)碼由虛擬機(jī)解釋執(zhí)行,虛擬機(jī)將每一條要執(zhí)行的字節(jié)碼送給解釋器,解釋器將其翻譯成特定機(jī)器上的機(jī)器碼,然后在特定的機(jī)器上運(yùn)行。這也就是解釋了Java的編譯與解釋并存的特點(diǎn)

三、采用字節(jié)碼的好處
Java語(yǔ)言通過(guò)字節(jié)碼的方式,在一定程度上解決了傳統(tǒng)解釋語(yǔ)言執(zhí)行效率低的問(wèn)題,同時(shí)又保留了解釋型語(yǔ)言可移植的特點(diǎn)。所以Java程序運(yùn)行時(shí)比較高效,而且,字節(jié)碼并不專一種特定的機(jī)器,所以Java程序無(wú)需編譯便可以在多種不同的計(jì)算機(jī)上運(yùn)行,從而實(shí)現(xiàn)了Java的跨平臺(tái)運(yùn)行。
到此這篇關(guān)于Java之字節(jié)碼以及優(yōu)勢(shì)案例講解的文章就介紹到這了,更多相關(guān)Java之字節(jié)碼以及優(yōu)勢(shì)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 學(xué)會(huì)Java字節(jié)碼指令,成為技術(shù)大佬
- Java字節(jié)碼增強(qiáng)技術(shù)知識(shí)點(diǎn)詳解
- 詳解Java動(dòng)態(tài)字節(jié)碼技術(shù)
- 詳解Java字節(jié)碼編程之非常好用的javassist
- 淺談javap命令拆解字節(jié)碼文件
- Java字節(jié)碼中jvm實(shí)例用法
- Javassist如何操作Java 字節(jié)碼
- Java中invokedynamic字節(jié)碼指令問(wèn)題
- java獲取版本號(hào)及字節(jié)碼編譯版本方法示例
- java 獲取字節(jié)碼文件的幾種方法總結(jié)
- java 中如何獲取字節(jié)碼文件的相關(guān)內(nèi)容
- java字節(jié)碼框架ASM操作字節(jié)碼的方法淺析
- java字節(jié)碼框架ASM的深入學(xué)習(xí)
- Java 將字符串動(dòng)態(tài)生成字節(jié)碼的實(shí)現(xiàn)方法
- 通過(guò)java字節(jié)碼分析學(xué)習(xí)對(duì)象初始化順序
- Java字節(jié)碼的增強(qiáng)技術(shù)
相關(guān)文章
詳解SpringMVC驗(yàn)證框架Validation特殊用法
本篇文章主要介紹了詳解SpringMVC驗(yàn)證框架Validation特殊用法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
詳解SpringCloud Ribbon 負(fù)載均衡通過(guò)服務(wù)器名無(wú)法連接的神坑
這篇文章主要介紹了詳解SpringCloud Ribbon 負(fù)載均衡通過(guò)服務(wù)器名無(wú)法連接的神坑,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
java IO流 之 輸出流 OutputString()的使用
這篇文章主要介紹了java IO流 之 輸出流 OutputString()的使用的相關(guān)資料,需要的朋友可以參考下2016-12-12
解決java轉(zhuǎn)義json出現(xiàn)\u0000 等亂碼的問(wèn)題
這篇文章主要介紹了解決java轉(zhuǎn)義json出現(xiàn)\u0000 等亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
Springboot整合Dozer實(shí)現(xiàn)深度復(fù)制的方法
Dozer是一種Java?Bean到Java?Bean的映射器,遞歸地將數(shù)據(jù)從一個(gè)對(duì)象復(fù)制到另一個(gè)對(duì)象,它是一個(gè)強(qiáng)大的,通用的,靈活的,可重用的和可配置的開(kāi)源映射框架,本文給大家介紹Springboot整合Dozer的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧2022-03-03
JavaCV調(diào)用百度AI實(shí)現(xiàn)人臉檢測(cè)方法詳解
在檢測(cè)人臉數(shù)量、位置、性別、口罩等場(chǎng)景時(shí),可以考慮使用百度開(kāi)放平臺(tái)提供的web接口,一個(gè)web請(qǐng)求就能完成檢測(cè)得到結(jié)果。本文就為大家介紹JavaCV如何調(diào)用百度AI實(shí)現(xiàn)最簡(jiǎn)單的人臉檢測(cè),需要的可以參考一下2022-01-01
java實(shí)現(xiàn)導(dǎo)出數(shù)據(jù)為zip壓縮文件
這篇文章主要為大家詳細(xì)介紹了java如何實(shí)現(xiàn)導(dǎo)出數(shù)據(jù)為zip壓縮文件,并且解壓后為json文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11
Hadoop環(huán)境配置之hive環(huán)境配置詳解
這篇文章主要介紹了Hadoop環(huán)境配置之hive環(huán)境配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12

