千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

當(dāng)前位置:首頁  >  IT問答庫  >  Java培訓(xùn)就業(yè)

Java中boolean類型占?多少個字節(jié)

發(fā)布:Java培訓(xùn) 2022-04-01 15:35

Java中boolean類型占?多少個字節(jié)

推薦答案

  Java中boolean類型占?多少個字節(jié)-威哥原創(chuàng)系列?章

  ?先在Java中定義的?種基本數(shù)據(jù)類型中,除了其它七種類型都有明確的內(nèi)存占?字節(jié)數(shù)外,就boolean類型沒有給出具體的占?字節(jié)數(shù),因?yàn)閷μ摂M機(jī)來說根本就不存在 boolean 這個類型,boolean類型在編譯后會使?其他數(shù)據(jù)類型來表示,那boolean類型究竟占?多少個字節(jié)?帶著疑問,隨便?上?搜,答案五花??,基本有以下?種:

  1、1個bit

  理由是boolean類型的值只有true和false兩種邏輯值,在編譯后會使?1和0來表示,這兩個數(shù)在內(nèi)存中只需要1位(bit)即可存儲,位是計(jì)算機(jī)最?的存儲單位。

  2、1個字節(jié)

  理由是雖然編譯后1和0只需占?1位空間,但計(jì)算機(jī)處理數(shù)據(jù)的最?單位是1個字節(jié),1個字節(jié)等于8位,實(shí)際存儲的空間是:?1個字節(jié)的最低位存儲,其他7位?0填補(bǔ),如果值是true的話則存儲的?進(jìn)制為:0000 0001,如果是false的話則存儲的?進(jìn)制為:0000 0000。

  3、4個字節(jié)

  理由來源是《Java虛擬機(jī)規(guī)范》?書中的描述:“雖然定義了boolean這種數(shù)據(jù)類型,但是只對它提供了?常有限的?持。在Java虛擬機(jī)中沒有任何供boolean值專?的字節(jié)碼指令,Java語?表達(dá)式所操作的boolean值,在編譯之后都使?Java虛擬機(jī)中的int數(shù)據(jù)類型來代替,?boolean數(shù)組將會被編碼成Java虛擬機(jī)的byte數(shù)組,每個元素boolean元素占8位”。這樣我們可以得出boolean類型占了單獨(dú)使?是4個字節(jié),在數(shù)組中?是1個字節(jié)。

  顯然第三條是更準(zhǔn)確的說法,那虛擬機(jī)為什么要?int來代替boolean呢?為什么不?byte或short,這樣不是更節(jié)省內(nèi)存空間嗎。?多數(shù)?都會很?然的這樣去想,我同樣也有這個疑問,經(jīng)過查閱資料發(fā)現(xiàn),使?int的原因是,對于當(dāng)下32位的處理器(CPU)來說,?次處理數(shù)據(jù)是32位(這?不是指的是32/64位系統(tǒng),?是指CPU硬件層?),具有?效存取的特點(diǎn)。

  最后的總結(jié):

  根據(jù)http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html官??檔的

  描述:

  boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its "size" isn't something that's precisely defined.

  布爾類型:布爾數(shù)據(jù)類型只有兩個可能的值:真和假。使?此數(shù)據(jù)類型為跟蹤真/假條件的簡單標(biāo)記。這種數(shù)據(jù)類型就表示這?點(diǎn)信息,但是它的“??”并不是精確定義的。

  可以看出,boolean類型沒有給出精確的定義,《Java虛擬機(jī)規(guī)范》給出了4個字節(jié),和

  boolean數(shù)組1個字節(jié)的定義,具體還要看虛擬機(jī)實(shí)現(xiàn)是否按照規(guī)范來,所以1個字節(jié)、4個字節(jié)都是有可能的。這其實(shí)是運(yùn)算效率和存儲空間之間的博弈,兩者都?常的重要。

JavaEE

 

最新問答資訊

01 unity用什么編程語言?unity學(xué)習(xí)難度大嗎

學(xué)習(xí) unity 語言
6020 人關(guān)注

02 python容易學(xué)嗎?學(xué)好python有什么好處?

學(xué)習(xí) python 工作 培訓(xùn)
5389 人關(guān)注

03 html是什么語言?html學(xué)習(xí)難嗎?

學(xué)習(xí) html 語言 可以
5062 人關(guān)注

04 c語言難學(xué)嗎?c語言學(xué)好要多久?

語言 技術(shù) 學(xué)習(xí)
4733 人關(guān)注

06 學(xué)好平面設(shè)計(jì)要多久?報(bào)速成班靠譜嗎?

平面 設(shè)計(jì) 學(xué)習(xí) 時間
4238 人關(guān)注

相關(guān)問題

學(xué)java可以從事哪些方面的工作?java熱門崗位盤點(diǎn)

同學(xué),你好!Java已經(jīng)成為目前非常流行的編程語言,其地位不容小...

學(xué)java可以從事哪些方面的工作?

同學(xué),你好!目前java開發(fā)廣泛應(yīng)用到各行各業(yè)中,因此涉及到的崗...

java培訓(xùn)班半年找工作好嗎

java培訓(xùn)班半年找工作好嗎?好找。基本上現(xiàn)在的java培訓(xùn)機(jī)構(gòu)培訓(xùn)...

java就業(yè)前景怎么樣

我國現(xiàn)在正是信息化建設(shè)的初級階段,“互聯(lián)網(wǎng)+”新經(jīng)濟(jì)模式大力...

Java培訓(xùn)班出來好找工作嗎

Java培訓(xùn)班出來好找工作嗎?比較好找,這也是為什么這么多人轉(zhuǎn)行...

Java和Web前端哪個前景更好

同學(xué)您好,根據(jù)您問的這個問題,Java和Web前端哪個前景更好?我們...

測一測
你知道多少IT梗

主站蜘蛛池模板: 国产一区二区在线|播放| 精品一区二区三区在线视频观看 | 麻豆一区二区免费播放网站| 痴汉中文字幕视频一区| 中文字幕在线精品视频入口一区| 成人精品一区二区不卡视频| 四虎一区二区成人免费影院网址 | 国产精品自拍一区| 无码av免费一区二区三区试看| 能在线观看的一区二区三区| 精品少妇人妻AV一区二区| 亚洲日韩AV一区二区三区中文| 无码一区二区三区| 国产91精品一区二区麻豆网站| 美女福利视频一区二区| 亚洲熟妇av一区| 一区二区国产精品| 国产AV一区二区三区无码野战| 国产福利电影一区二区三区,日韩伦理电影在线福 | 精品人妻无码一区二区色欲产成人 | 亚洲AV一区二区三区四区| 亚洲欧洲一区二区三区| 国产精品一区不卡| 日韩一区二区三区精品| 无码人妻精品一区二区三区9厂 | 久久人妻内射无码一区三区| 精品福利一区3d动漫| 香蕉一区二区三区观| 久久国产香蕉一区精品| 国产伦精品一区二区三区| 狠狠色成人一区二区三区| 国产精品一区12p| 中文字幕在线观看一区二区| 夜色福利一区二区三区| 亚洲国产精品乱码一区二区| 文中字幕一区二区三区视频播放| 亚洲av一综合av一区| 中文字幕一区二区三区精彩视频| 亚洲一区精彩视频| jazzjazz国产精品一区二区| 国产午夜精品一区理论片|