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

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

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

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

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

推薦答案

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

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

  1、1個(gè)bit

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

  2、1個(gè)字節(jié)

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

  3、4個(gè)字節(jié)

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

  顯然第三條是更準(zhǔn)確的說(shuō)法,那虛擬機(jī)為什么要?int來(lái)代替boolean呢?為什么不?byte或short,這樣不是更節(jié)省內(nèi)存空間嗎。?多數(shù)?都會(huì)很?然的這樣去想,我同樣也有這個(gè)疑問(wèn),經(jīng)過(guò)查閱資料發(fā)現(xiàn),使?int的原因是,對(duì)于當(dāng)下32位的處理器(CPU)來(lái)說(shuō),?次處理數(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ù)類型只有兩個(gè)可能的值:真和假。使?此數(shù)據(jù)類型為跟蹤真/假條件的簡(jiǎn)單標(biāo)記。這種數(shù)據(jù)類型就表示這?點(diǎn)信息,但是它的“??”并不是精確定義的。

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

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

JavaEE

 

最新問(wèn)答資訊

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

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

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

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

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

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

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

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

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

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

相關(guān)問(wèn)題

Java和Web前端哪個(gè)前景更好

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

java培訓(xùn)分享:2022年學(xué)習(xí)Java有前途嗎?

據(jù)相關(guān)數(shù)據(jù)統(tǒng)計(jì),在2022年參加java培訓(xùn)機(jī)構(gòu)學(xué)習(xí)java技術(shù)的人在不...

float和double的區(qū)別是什么?

float和double的區(qū)別是什么?威哥講java原創(chuàng)系列?章 1.1 內(nèi)存中...

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

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

Java培訓(xùn)就業(yè)哪里好?

Java培訓(xùn)就業(yè)哪里好?培訓(xùn)機(jī)構(gòu)很多,但是還是給大家推薦千鋒Java...

學(xué)習(xí)Java就業(yè)有哪些方向?

Java作為目前的主流編程語(yǔ)言之一,深受各大企業(yè)歡迎,現(xiàn)在...

測(cè)一測(cè)
你知道多少IT梗

主站蜘蛛池模板: 男女久久久国产一区二区三区| 国产日本一区二区三区| 国精品无码一区二区三区在线蜜臀 | 国产一区二区三区久久| 亚洲AV无码国产精品永久一区| 国产亚洲无线码一区二区| 亚洲中文字幕一区精品自拍| 日本一区二区在线播放| 国产成人精品一区二区三区无码| 女人和拘做受全程看视频日本综合a一区二区视频 | 日韩人妻无码一区二区三区综合部 | 亚洲熟妇av一区二区三区下载| 香蕉久久AⅤ一区二区三区 | 国产av一区二区精品久久凹凸 | eeuss鲁片一区二区三区| 亚洲国产美国国产综合一区二区| 色妞AV永久一区二区国产AV| 久久综合一区二区无码| 日本精品一区二区久久久| 韩国福利视频一区二区| 日韩一区在线视频| 日韩成人无码一区二区三区| 免费无码A片一区二三区| 亚洲日韩国产一区二区三区在线 | 亚洲中文字幕丝袜制服一区 | 伊人色综合一区二区三区| 99国产精品一区二区| 精品视频一区二区三区在线观看| 国产精品无码一区二区三级| 久久国产精品最新一区| 中文字幕亚洲综合精品一区| 色噜噜狠狠一区二区| 亚洲av综合av一区二区三区| 秋霞日韩一区二区三区在线观看 | bt7086福利一区国产| 午夜爽爽性刺激一区二区视频| 波多野结衣一区二区三区高清av| 国产免费播放一区二区| 久久久久一区二区三区| 99久久精品日本一区二区免费 | 福利一区二区三区视频在线观看|