[java]基礎型別
1 byte = 1位元組 = 8bit 可表達 2的八次方個數字 = 256
1 short= 2位元組 = 16bit 可表達2的十六次方個數字 = 65536 約6W
1 char = 2位元組 = 16bit 可表達2的十六次方個數字 = 65536 約6W
1 int = 4位元組 = 32bit 可表達2的32次方個數 = 4294967296 約42億
1 float= 4位元組 = 32bit 可表達2的32次方個數 = 4294967296 約42億
1 long = 8位元組 = 64bit 可表達2的64次方個數 = 18446744073709551616 約184億億 184*10^16次方
1 double= 8位元組 = 64bit 可表達2的64次方個數 = 18446744073709551616 約184億億
知道這些,才能理解bitmap需要多大的記憶體來計算10億個數字裡是否有重複數字,每個數字是一個IP,可見儲存這些資料只需要一個int大小的記憶體已經足以,但運算還是需要記憶體的。
bitmap是比hash更加優越的地方在於此吧
1個IP 192.168.101.129 為12位的資料,也就是說有10億個12位的數字。1個12位的數字99999999999 999億那麼需要一個double型別的數字來表示這個12位的數字,1個double型別佔用8位元組,也就是大概需要10億*8位元組來做這個事情,總共需要記憶體10億byte,約0.93G記憶體即可。
1 short= 2位元組 = 16bit 可表達2的十六次方個數字 = 65536 約6W
1 char = 2位元組 = 16bit 可表達2的十六次方個數字 = 65536 約6W
1 int = 4位元組 = 32bit 可表達2的32次方個數 = 4294967296 約42億
1 float= 4位元組 = 32bit 可表達2的32次方個數 = 4294967296 約42億
1 long = 8位元組 = 64bit 可表達2的64次方個數 = 18446744073709551616 約184億億 184*10^16次方
1 double= 8位元組 = 64bit 可表達2的64次方個數 = 18446744073709551616 約184億億
知道這些,才能理解bitmap需要多大的記憶體來計算10億個數字裡是否有重複數字,每個數字是一個IP,可見儲存這些資料只需要一個int大小的記憶體已經足以,但運算還是需要記憶體的。
bitmap是比hash更加優越的地方在於此吧
1個IP 192.168.101.129 為12位的資料,也就是說有10億個12位的數字。1個12位的數字99999999999 999億那麼需要一個double型別的數字來表示這個12位的數字,1個double型別佔用8位元組,也就是大概需要10億*8位元組來做這個事情,總共需要記憶體10億byte,約0.93G記憶體即可。
相關文章
- java資料型別基礎Java資料型別
- Java基礎-基本型別和包裝型別Java型別
- 基礎-JAVA集合型別主要區別Java型別
- java的8種基礎型別Java型別
- [java基礎]之資料型別Java資料型別
- java基礎(十一) 列舉型別Java型別
- java基礎(十) 陣列型別Java陣列型別
- java基礎:型別轉換castJava型別AST
- JAVA基礎之九-泛型(通用型別)Java泛型型別
- java基礎知識--資料型別Java資料型別
- 談談Java基礎資料型別Java資料型別
- Java基礎教程(15)–列舉型別Java型別
- java基礎(一) 深入解析基本型別Java型別
- java基礎之java的基本資料型別Java資料型別
- java基礎一:基本型別,運算子號Java型別
- java基礎型別原始碼解析之HashMapJava型別原始碼HashMap
- 基礎篇:JAVA引用型別和ThreadLocalJava型別thread
- [Java基礎]之 資料型別轉換Java資料型別
- java基礎之一:基本資料型別Java資料型別
- JAVA基礎--資料型別和運算子Java資料型別
- Java基礎語法之資料型別Java資料型別
- Java基礎知識-基本資料型別相互轉型Java資料型別
- java 基礎 泛型Java泛型
- Java基礎-泛型Java泛型
- 【Java基礎】泛型Java泛型
- Java基礎:Java變數、資料型別、運算子(2)Java變數資料型別
- java 基礎型別與byte[]的轉換Java型別
- java基礎學習之七:陣列型別Java陣列型別
- java基礎學習之六:String型別Java型別
- TypeScript型別系統和基礎型別TypeScript型別
- 基礎篇:深入解析JAVA泛型和Type型別體系Java泛型型別
- 【Java反射】Java 泛型基礎Java反射泛型
- 基礎資料型別資料型別
- TypeScript(3)基礎型別TypeScript型別
- JAVA基礎:Java變數型別間的相互轉換(轉)Java變數型別
- java基礎學習之五:引用資料型別Java資料型別
- go語言資料型別-基礎型別Go資料型別
- java基礎篇之多型Java多型