成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

(a+b)*10,10是存在哪里的?是常量池么?

開發(fā) 后端
今天看到一個很有意思的提問:(a+b)*10,10是存放在哪里的?是常量池么?如果是常量池,在進(jìn)行運算的時候,是通過指針來找到的吧?

[[387051]]

今天看到一個很有意思的提問:(a+b)*10,10是存放在哪里的?是常量池么?如果是常量池,在進(jìn)行運算的時候,是通過指針來找到的吧?

某回答:10是在常量池,常量池在jdk1.8以后已經(jīng)移到元空間了。

要驗證這個答案是否正確其實很簡單,寫一個測試方法通過javap查看編譯后的字節(jié)碼指令就能得出結(jié)論。

測試方法源碼如下:

  1. private int m(int a, int b) { 
  2.     int r = a * b * 10; 
  3.     return r; 

使用javap查看編譯后的字節(jié)碼如下:

  1. private int m(intint); 
  2.   descriptor: (II)I 
  3.   flags: ACC_PRIVATE 
  4.   Code: 
  5.     stack=2, locals=4, args_size=3 
  6.          0: iload_1 
  7.          1: iload_2 
  8.          2: imul 
  9.          3: bipush        10 
  10.          5: imul 
  11.          6: istore_3 
  12.          7: iload_3 
  13.          8: ireturn 

筆者翻閱了一下JVM字節(jié)碼指令表,相關(guān)指令如下圖所示。

字節(jié)碼指令由操作碼和零個或多個操作數(shù)組成,編譯后會被寫入方法的Code屬性中,操作數(shù)要么是立即數(shù),要么是指向class文件結(jié)構(gòu)常量池中常量的索引,要么是跳轉(zhuǎn)目標(biāo)指令的偏移量。

設(shè)立即數(shù)10為x,可得出以下結(jié)論:

當(dāng)x取值在區(qū)間[-1,5]時,x直接被編譯進(jìn)方法的code屬性中,作為iconst指令的操作數(shù);

當(dāng)x取值在區(qū)間[-128,127]時,x也直接被編譯進(jìn)方法的code屬性中,作為bipush指令的操作數(shù),取值范圍[-128,127]是因為bipush指令的操作數(shù)只能是一個字節(jié);

當(dāng)x取值在區(qū)間[-32768,32767]時,x也直接被編譯進(jìn)方法的code屬性中,作為sipush指令的操作數(shù),取值范圍[-32768,32767]是因為sipush指令的操作數(shù)有兩個字節(jié);

 

否則才會將x編譯進(jìn)class的常量池,在進(jìn)行運算時通過ldc指令從常量池(元空間)push進(jìn)操作數(shù)棧中。

本文轉(zhuǎn)載自微信公眾號「Java藝術(shù)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系Java藝術(shù)公眾號。

 

責(zé)任編輯:武曉燕 來源: Java藝術(shù)
相關(guān)推薦

2021-10-20 09:20:40

手機定位互聯(lián)網(wǎng)位置服務(wù)

2021-10-28 22:31:11

存儲云存儲數(shù)據(jù)

2014-01-07 13:54:40

Hadoop日志

2015-10-08 10:24:40

藍(lán)屏Windows 10微軟

2024-07-30 14:18:12

2024-06-20 13:48:18

2023-12-27 18:50:26

2021-04-14 10:58:54

OWASP Top 1web安全身份驗證

2021-12-17 17:50:50

RTORPO場景

2022-05-25 16:58:10

邊緣計算

2017-01-12 21:02:29

Windows 10系統(tǒng)更新

2016-08-02 14:53:18

Windows10藍(lán)屏死機

2020-06-18 12:32:12

微軟開發(fā)者Windows 10

2015-11-09 17:22:02

2015-07-30 11:40:51

中國網(wǎng)

2021-06-01 10:49:22

線程池Java開發(fā)

2021-06-03 14:23:57

線程線程池JAVA

2021-02-15 15:36:04

采礦加密貨幣區(qū)塊鏈

2013-12-11 13:21:28

LTEFTTH

2021-05-17 20:13:50

數(shù)倉操作型數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产视频精品在线观看 | 羞羞视频网站免费观看 | 色综合一区 | 亚洲美女视频 | 国产精品一区二区三区在线 | 亚洲精品456 | 欧美另类视频 | 精品欧美一区二区在线观看 | 欧美三级三级三级爽爽爽 | 欧美午夜精品 | 成人午夜电影网 | 天天综合网天天综合 | 久久一| 日韩二区 | 亚洲一二三在线观看 | 精品久久久久久亚洲精品 | 香蕉久久久久久 | 久久伊人精品一区二区三区 | 久久综合一区二区 | 国产高清一区二区 | 日韩三极 | 日日干天天操 | av中文字幕在线播放 | 免费在线播放黄色 | 国产成人亚洲精品自产在线 | 国产一级片一区二区三区 | 亚洲在线一区二区三区 | 日韩精品一区二区三区中文在线 | av超碰 | 国产精品一卡 | 日本成人福利视频 | 精品欧美一区免费观看α√ | 亚洲最大av网站 | 欧美午夜精品理论片a级按摩 | 国产精品久久久久av | 亚欧性视频 | 福利片在线 | 在线视频a| 91综合在线视频 | 亚洲国产福利视频 | 日本精品一区二区三区在线观看视频 |