99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

java虛擬機知識點有哪些

這篇文章主要講解了“java虛擬機知識點有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“java虛擬機知識點有哪些”吧!

創新互聯長期為超過千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為謝通門企業提供專業的網站建設、網站設計謝通門網站改版等技術服務。擁有10余年豐富建站經驗和眾多成功案例,為您定制開發。

1. java 虛擬機結構

java虛擬機知識點有哪些

2. 整數在java虛擬機中的表示

整數在java虛擬機中以補碼的形式保存,

  • 原碼:所謂原碼,就是符號位加上數字的二進制表示,以int為例,第1位表示符號位(正數或負數),其余31位表示該數字的二進制值。

  • 反碼:所謂反碼,就是符號位不變,其余位取反。

  • 補碼:負數的補碼就是反碼加1,正數的補碼就是原碼本身。

在java中,可以使用位運算查看整數中每一位的實際值,代碼如下:

// 打印 -10 在虛擬機內的實際表示
public static void main(String[] args) {
    int a = -10;
    for(int i = 0; i < 32; i++) {
        int t = (a & 0x8000_0000 >>> i) >>> (31 - i);
        System.out.print(t);
    }
}

這段程序的基本思想是,進行32次循環,每次循環取出int值中的一位,第3行的 0x8000_0000 是一個首位為1,其余位為0的整數,通過右移i位,定位到要獲取的第i位,并將除該位外的其他位統一設置為0,而該位不變,最近將該位移至最右,并進行輸出。

使用補碼的好處

  • 可以統一數字0的表示。0既是非正數,又是非負數,使用原碼表示時符號位難以確定,把0歸入正數或者負數得到的原碼是不同的。但是使用補碼表示時,無論把0歸入正數還是負數都會得到相同的結果。

  • 使用補碼可以簡化整數的加減法計算,將減法計算視為加法計算,實現減法和加法的完全統一,實現正數和負數加法的統一。

3. 浮點數在java虛擬機中的表示

在java虛擬機中,浮點數有floatdouble兩種,分別是32位和64位浮點數。浮點數在java虛擬機中表示比整數略顯復雜。目前使用最為廣泛的是由 IEEE 754 定義的浮點數格式。

IEEE 754的定義中,一個浮點數由3部分組成:符號位、指數位 和 尾數位。以32位float類型為例,符號位占1位,表示正負數,指數位占8位,尾數為點剩余23位。

java虛擬機知識點有哪些

  • 31位為符號位:0表示正數,1表示負數

  • 31~23位:共8位表示指數位,內存存儲數據從0~2^8-1=255,由于指數可以是正也可以是負,所以指數位采用移位存儲表示數據,8位有符號有可表示數據從-128~127,所以指數位表示的實際指數應該是無符號位數減去127,例如0000 0000表示為0-127=-127,1111 1111表示為255-127=128,1000 0001表示為129-127=2

  • 22~0位:共23位表示尾數位,內存存儲數據從0~2^23-1=8388607

在java中,使用Float.floatToRawIntBits()函數可以獲得一個單精度浮點數的 IEEE 754 表示,如下:

public static void main(String[] args) {
    float a = -5;
    System.out.println(Integer.toBinaryString(Float.floatToIntBits(a)));
}

感謝各位的閱讀,以上就是“java虛擬機知識點有哪些”的內容了,經過本文的學習后,相信大家對java虛擬機知識點有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!

新聞標題:java虛擬機知識點有哪些
本文路徑:http://www.yijiale78.com/article44/pjdoee.html

成都網站建設公司_創新互聯,為您提供靜態網站搜索引擎優化網站內鏈自適應網站網站維護虛擬主機

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站建設