i++,++i和i--

對(duì)于i=i++ 賦值運(yùn)算最后算,先算i++
將1壓入操作數(shù)棧,將i壓入局部變量表
將i自增,局部變量表中i=2
再將操作數(shù)棧中的1賦值給i
因此i曾經(jīng)變?yōu)?但結(jié)果還是1

i++和++i在理論效率上是沒(méi)有什么區(qū)別的,因?yàn)樗麄兘?jīng)過(guò)編譯器優(yōu)化后的字節(jié)碼是一樣的,
而在for循環(huán)的比較中i--的速度更快,這是因?yàn)閷?duì)于寄存器的操作中,有幾個(gè)標(biāo)志位,i--時(shí),減法會(huì)影響4個(gè)標(biāo)志位,其中有一個(gè)是判斷正負(fù),比較時(shí)可以直接用這個(gè)來(lái)判斷,而i++只會(huì)影響一個(gè)是否溢出標(biāo)志位,每次循環(huán)都要多一條指令來(lái)判斷是否大于閾值

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Java byte code 的學(xué)習(xí)意義 為啥要學(xué)java bytecode,這就跟你問(wèn)我已經(jīng)會(huì)python了為...
    shanggl閱讀 1,850評(píng)論 0 3
  • 第6章類(lèi)文件結(jié)構(gòu) 6.1 概述 6.2 無(wú)關(guān)性基石 6.3 Class類(lèi)文件的結(jié)構(gòu) java虛擬機(jī)不和包括java...
    kennethan閱讀 1,068評(píng)論 0 2
  • 專(zhuān)業(yè)考題類(lèi)型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚(yú)閱讀 10,498評(píng)論 0 13
  • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,243評(píng)論 0 38
  • 第二部分 自動(dòng)內(nèi)存管理機(jī)制 第二章 java內(nèi)存異常與內(nèi)存溢出異常 運(yùn)行數(shù)據(jù)區(qū)域 程序計(jì)數(shù)器:當(dāng)前線程所執(zhí)行的字節(jié)...
    小明oh閱讀 1,278評(píng)論 0 2

友情鏈接更多精彩內(nèi)容