JVM學習筆記(一)數字在JVM中的表示
數字在JVM中的表示
一、整數在JVM中的表示
1.在Java虛擬機中,整數有四種表示:
byte:8位 short:16位 int:32位 long:64位
2.原碼、補碼、反碼
1)原碼:符號位(左邊第一位,0表示正數,1表示負數)加上數字的二進制表示。
2)反碼:在原碼的基礎上,符號位不變,其余位取反。
3)補碼:負數的補碼-----其反碼加1,正數的補碼就是其原碼本身。
3.使用補碼作為計算機內的實際存儲方式的好處:
1)可以統一數字0的表示。
2)簡化整數的加減法,將其全部視為加法。
二、浮點數在JVM中的表示
1.在java虛擬機中浮點數表示有兩種:
float 32位 double 64位
2.IEEE754 表示浮點數:
浮點數由符號位(1位)、指數位(8位)、尾數位(23位,根據e的取值有24位精度)表示。
sflag表示符號位,s為0時,flag為1,s為1時,flag為0。e全為0時,尾數位附加0,否則附加1。
JVM學習筆記(一)數字在JVM中的表示
相關推薦
JVM學習筆記(一)數字在JVM中的表示
oat 技術 3-9 cnblogs es2017 ext ava bsp eee 數字在JVM中的表示 一、整數在JVM中的表示 1.在Java虛擬機中,整數有四種表示: byte:8位 short:16位 int:32位 long:64位
JVM學習筆記(一)------基本結構
從Java平臺的邏輯結構上來看,我們可以從下圖來了解JVM: 從上圖能清晰看到Java平臺包含的各個邏輯模組,也能瞭解到JDK與JRE的區別 對於JVM自身的物理結構,我們可以從下圖鳥瞰一下: 對於JVM的學習,在我看來這麼幾個部分最重要: Java程式碼編譯和執行的整個
JVM學習筆記(一)之記憶體分割槽
JVM中記憶體區可以根據受訪問許可權的不同定義為執行緒共享和執行緒私有兩大類。以下是我學習的一些筆記,這些知識是基於java7的,java7以後的版本會有點不同,但是大同小異,核心是不會變的。 一、執
JVM學習筆記(一)
Survivor Space倖存者區,用於儲存在eden space記憶體區域中經過垃圾回收後沒有被回收的物件。Survivor有兩個,分別為To Survivor、 From Survivor,這個兩個區域的空間大小是一樣的。執行垃圾回收的時候Eden區域不能被回收的物件被放入到空的surviv
JVM學習筆記(一)執行時資料區
執行時資料區 java虛擬機器在執行java程式的過程中會把所管理的記憶體劃分為若干個不同的資料區域。這些區域都有各自的用途,以及建立和銷燬的時間。 有的區域隨著虛擬機器程序的啟動而存在,隨虛擬機器程序的退出而銷燬; 有的區域則依賴使用者執行緒的啟
python3學習筆記(一)——數字、字符串、列表、字典、元組
類型 單詞 nbsp 3.1 true expand 替換 割點 gpo 什麽是python解釋器?
OpenCV學習筆記(一)在XCode中配置OpenCV
簡介 這個配置方法不僅僅只適用於OpenCV,其他的三方庫也是同樣的配置,比如像FFmpeg呀等都是一樣的配置 配置方法 Mac上需要先安裝好cmake 這個直接使用brew安裝就行 Mac安裝OpenCv,這個使用:brew install opencv 命令列直
Java多執行緒學習筆記(一)之中斷中的Interrupt,interrupted(),isInterrupted()
1、關於中斷 在Java中中斷最初是通過stop()來終止執行緒的,後來發現這樣簡單粗暴的停止執行緒會產生很多問題(例如物件monitor的釋放),所以改為deprecated,推薦使用interrupt()來中斷執行緒。而對於執行緒來說,會持有一個inter
javascript犀牛書學習筆記(一)Web瀏覽器中的Javascript
客戶端JavaScript Window物件是所有客戶端JavaScript特性和API的主要接入點。它表示Web瀏覽器的一個視窗或窗體,並且可以用識別符號Window來引用它。Window物件定義了一些屬性,比如Location物件的location屬性。W
MyBatis學習筆記(一)——配置檔案中的別名以及mapper中的namespace
MyBatis中如果每次配置類名都要寫全稱也太不友好了,我們可以通過在主配置檔案中配置別名,就不再需要指定完整的包名了。 別名的基本用法: <configuration> <typeAliases> <typeAlias
深入理解JAVA虛擬機器學習筆記(一)JVM記憶體模型
一、JVM記憶體模型概述 JVM記憶體模型其實也挺簡單的,這裡先提2個知識點: 1、組成:java堆,java棧(即虛擬機器棧),本地方法棧,方法區和程式計數器。 2、是否共享:其中方法區和堆區是執行緒共享的,虛擬機器棧,本地方法棧和程式計數器是執行緒私有的,也稱執行緒
JVM學習筆記(二)--方法調用之靜態分配和動態分配
extends AD 找到 n! sse 運行時 面試 static sys 本篇文章從JVM的角度來理解Java學習中經常提到的重載和重寫。 方法調用:方法調用不等同於方法執行,在Java虛擬機中,方法調用僅僅是為了確定調用哪個版本的方法。方法調用分為解析調用和分派。解析
jvm學習筆記(1)——java虛擬機器記憶體區域
一、java記憶體區域: 1、程式計數器(執行緒私有): 記憶體中較小的記憶體空間,可以當做當前執行緒所執行位元組碼的行號指示器。如分支、迴圈、跳轉、異常處理、執行緒恢復都需要依賴這個計數器完成。 2、java虛擬機
jvm學習筆記(3)——java物件的記憶體分配和物件的回收(GC)
引言: 之前的文章已經提過,java物件例項是存放在堆上的,至於是在伊甸區、存活區還是老年區,這些都是從物件回收(GC)角度來進行的邏輯劃分。所以我們先說物件的回收(GC),然後再依據GC的策略來說明新的物件具體在哪個區生成。 GC(Garbage C
JVM學習筆記(六)主記憶體與工作記憶體
一、 主記憶體與工作記憶體 Java記憶體模型規定了所有的變數都儲存在主記憶體中。每條執行緒還有自己的工作記憶體。執行緒對變數的所有操作都必須在工作記憶體中進行,而不能直接讀寫主記憶體中的變數。 不同執行緒之間無法直接訪問對方工作記憶體中的變數,執行緒間變數值的傳遞均
JVM學習筆記(二)
上次我們分析了常量池,根據class檔案格式,我們看到常量池後面是access flag訪問標誌,用於表示這個class檔案代表的類的訪問相關資訊,比如是public還是private,是final或者abstract,還有最重要的,是類還是介面等等。具體見下圖
JVM學習筆記(三):類的連線
前篇文章說了一下類載入器載入類,這篇文章說一下類的連線過程。 類被載入後,就進入連線階段。連線就是將已經讀入到記憶體的類的二進位制資料合併到虛擬機器的執行時環境中去。 連線過程有三部分組成: 1 .
JVM 學習筆記(五)
前言: 前面的檔案介紹了JVM的記憶體模型以及各個區域存放了那些內容,本編文章將介紹JVM中的垃圾回收Garbage Collector,和大家一起探討一下。 如何確定一個物件是垃圾: 這裡介紹兩種方法: 引用計數法 對於某個物件而言,只要應用程式中持有該物件的引用,就說明該物件不是垃圾,
python框架之 Tornado 學習筆記(一)
tornado pythontornado 一個簡單的服務器的例子:首先,我們需要安裝 tornado ,安裝比較簡單: pip install tornado 測試安裝是否成功,可以打開python 終端,輸入: import tornado.https
Scala學習筆記(一)編程基礎
大數據 上一個 extends 移除 condition api arr 調用方法 tab 強烈推薦參考該課程:http://www.runoob.com/scala/scala-tutorial.html 1. Scala概述 1.1. 什麽是Scala Scala