高清视频在线观看免费播放器-伊人日本-色九月综合-18禁止看的免费污网站-免费观看性行为视频的网站-天天碰天天操-久久精品国产欧美日韩99热-中文字幕在线视频不卡-国产偷人妻精品一区二区在线-国内精品久-伊人影院在线看-密臀av一区-久久综合五月丁香久久激情-福利一区福利二区-gg国产精品国内免费观看-国产精品 高清 尿 小便 嘘嘘

當前位置: 首頁 >深度 > 正文

世界微動態(tài)丨java~CompactStrings字符壓縮技術

2023-06-27 09:48:41 來源:博客園

概念

在 Java 中,charbyte類型占用的存儲空間是不同的。


(資料圖片僅供參考)

  1. char類型:char是 16 位無符號的 Unicode 字符類型,用于表示單個字符。在 Java 中,char類型占用 2 個字節(jié)(16 位)的存儲空間。

  2. byte類型:byte是 8 位有符號整數類型,表示范圍在 -128 到 127 之間的整數。在 Java 中,byte類型占用 1 個字節(jié)(8 位)的存儲空間。

需要注意的是,雖然 charbyte在 Java 中分別占用不同的存儲空間,但它們表示的數據類型和范圍也是不同的。char用于表示字符,而 byte用于表示整數。在處理數據時,應根據具體的需求和數據類型選擇合適的類型。

char(0~65535)

char在 Java 中占用 2 個字節(jié)(16 位)的空間是因為 Java 使用的是 Unicode 字符編碼,其中字符的表示范圍為 0 到 65535(即 2^16-1)。

Unicode 是一種國際標準字符集,為世界上幾乎所有的字符分配了唯一的標識符。它包含了各種語言的字符、符號、表情等。為了能夠表示這么多的字符,Java 選擇了使用 2 個字節(jié)(16 位)來存儲 char類型。

Java 的 char類型使用的是 UTF-16 編碼,它是一種可變長度的編碼方式,可以使用 2 個字節(jié)來表示大部分的字符,但對于一些特殊字符(如表情符號),可能需要使用額外的代碼點進行編碼。

需要注意的是,Unicode 字符集實際上定義了超過 65536 個字符。為了表示超出 65535 的字符,Unicode 使用了一種擴展編碼方式,稱為 UTF-16 編碼。UTF-16 編碼使用了一種叫作代理對(Surrogate Pair)的技術,將一個字符表示為兩個 char類型的編碼單元。

因此,雖然 char類型的范圍是 0 到 65535,但實際上可以表示更多的字符。在處理 Unicode 字符時,需要特別注意代理對的處理,以確保正確地處理和顯示字符。

byte(-128~127)

在 Java 中,byte是一個基本數據類型,用于表示 8 位的有符號整數。它的取值范圍為 -128 到 127。

byte類型通常用于處理字節(jié)數據,例如讀取和寫入二進制文件、網絡傳輸中的字節(jié)流、加密算法等。由于 byte類型占用的空間較小,因此在需要節(jié)省內存或處理字節(jié)級數據的情況下,經常使用 byte類型。

以下是一些關于 byte類型的特點和用法:

  1. 取值范圍:byte類型的取值范圍為 -128 到 127。可以通過 Byte.MIN_VALUEByte.MAX_VALUE常量來獲取最小值和最大值。

  2. 內存占用:byte類型占用 1 個字節(jié)(8 位)的存儲空間。

  3. 字節(jié)操作:byte類型適用于處理字節(jié)級數據,例如讀取和寫入二進制文件、網絡傳輸中的字節(jié)流等。可以使用輸入輸出流、緩沖流等類來讀寫 byte數據。

  4. 數組:可以創(chuàng)建 byte數組來存儲一組字節(jié)數據。例如,byte[] data = new byte[10];創(chuàng)建了一個長度為 10 的 byte數組。

  5. 類型轉換:byte類型可以與其他整數類型進行相互轉換。可以使用類型轉換運算符(如 (byte) value)將其他整數類型轉換為 byte類型,或者將 byte類型轉換為其他整數類型。

需要注意的是,在進行 byte類型的運算時,會發(fā)生整數提升。也就是說,byte類型的操作數會先被提升為 int類型,然后進行運算。

byte a = 10;byte b = 20;byte c = (byte) (a + b);  // 需要進行類型轉換

總而言之,byte類型在 Java 中是用于表示 8 位有符號整數的數據類型,適用于處理字節(jié)級數據和節(jié)省內存的場景。

java9對字符串存儲的優(yōu)化Compact Strings(緊湊字符串)

Java 9 對字符串的優(yōu)化主要集中在字符串存儲和處理方面,引入了一項被稱為 Compact Strings(緊湊字符串)的改進。Compact Strings 的目標是減少字符串在內存中的占用空間,提高性能和效率。

在 Java 8 及之前的版本中,字符串內部使用 char 數組來存儲字符數據,并使用額外的 int 型字段記錄字符串的偏移量和長度。這種表示方式在包含大量 ASCII 字符的字符串中會造成空間浪費,因為每個字符仍然占用 2 個字節(jié)的存儲空間。

Java 9 引入了 Compact Strings 的概念,對于僅包含 Latin-1 字符集(即 Unicode 編碼范圍在 U+0000 至 U+00FF 之間)的字符串,使用字節(jié)數組存儲數據,每個字符只占用 1 個字節(jié)。這樣可以大大減少這類字符串的內存占用。對于包含非 Latin-1 字符的字符串,仍然使用 char 數組存儲數據,每個字符占用 2 個字節(jié)。

Compact Strings 的優(yōu)化帶來了兩個主要的好處:

  1. 內存占用減少:對于僅包含 Latin-1 字符的字符串,在內存中占用的空間減少一半,從而可以降低內存消耗。

  2. 性能提升:減少了字符串的內存占用,可以減少內存的分配和垃圾回收的頻率,從而提高了性能和效率。

需要注意的是,Compact Strings 僅適用于字符串對象的內部表示方式,對于開發(fā)者來說,字符串的使用方式和 API 并沒有變化。開發(fā)者無需對現有的代碼進行修改,可以繼續(xù)使用字符串相關的方法和操作。

這項優(yōu)化是在底層實現層面上進行的,旨在提高 Java 運行時的性能和內存利用率,使開發(fā)者能夠更高效地處理字符串數據。

-XX:+CompactStrings

在 Java 命令行啟動時,可以通過使用 -XX:+CompactStrings參數來開啟 Compact Strings。該參數告訴 Java 虛擬機在啟動時啟用緊湊字符串(Compact Strings)優(yōu)化。

以下是使用 Java 命令行啟動并開啟 Compact Strings 的示例:

java -XX:+CompactStrings -jar YourJarFile.jar

在上述示例中,-XX:+CompactStrings參數指示 Java 虛擬機開啟 Compact Strings 優(yōu)化。-jar YourJarFile.jar部分是指定要執(zhí)行的 JAR 文件。

請注意,Compact Strings 優(yōu)化是默認開啟的,可以在不使用 -XX:+CompactStrings參數的情況下自動啟用。但如果需要明確指定開啟或禁用 Compact Strings,可以使用相應的命令行參數。

標簽:

返回頂部
高清视频在线观看免费播放器-伊人日本-色九月综合-18禁止看的免费污网站-免费观看性行为视频的网站-天天碰天天操-久久精品国产欧美日韩99热-中文字幕在线视频不卡-国产偷人妻精品一区二区在线-国内精品久-伊人影院在线看-密臀av一区-久久综合五月丁香久久激情-福利一区福利二区-gg国产精品国内免费观看-国产精品 高清 尿 小便 嘘嘘
  • <cite id="ecweg"><pre id="ecweg"></pre></cite>
    <rt id="ecweg"><acronym id="ecweg"></acronym></rt>
  • <rt id="ecweg"></rt>
    青青青国产在线视频| 色欲av无码一区二区人妻| 欧美乱大交xxxxx潮喷l头像| 99久久久无码国产精品6| 黄色片免费网址| 欧美精品无码一区二区三区| 日本福利视频在线观看| 一级日本黄色片| 国产免费999| 国产专区在线视频| 999久久久精品视频| 青青草原av在线播放| 日韩亚洲在线视频| 999在线观看视频| 日韩视频 中文字幕| 一级片免费在线观看视频| 色欲色香天天天综合网www| 精品一区二区成人免费视频 | 欧美国产综合在线| 秋霞在线一区二区| 超碰在线超碰在线| 久久久久久久久网| 米仓穗香在线观看| 国产美女作爱全过程免费视频| 日本一二三区在线| 操bbb操bbb| 欧美交换配乱吟粗大25p| 欧美成年人视频在线观看| 日本特黄a级片| 国产精品333| 国产一区二区三区播放| 免费观看亚洲视频| 青青艹视频在线| 日本免费一级视频| 久久精品.com| www.com黄色片| 婷婷激情综合五月天| 特级毛片在线免费观看| 91免费版看片| 国产无套内射久久久国产| 鲁一鲁一鲁一鲁一av| 交换做爰国语对白| 国产一级片中文字幕| 日韩美女爱爱视频| 青青视频在线播放| 亚洲av毛片在线观看| 一级黄色特级片| 日本欧美视频在线观看| 人人爽人人av| 99亚洲精品视频| 欧美一级视频在线| 2018中文字幕第一页| 一区二区三区国产免费| 制服丝袜综合网| 久操手机在线视频| 丝袜制服一区二区三区| 国内精品国产三级国产99| 女人扒开屁股爽桶30分钟| 精品亚洲视频在线| 久草资源站在线观看| 91丨九色丨蝌蚪| 亚洲 欧美 日韩 国产综合 在线| 182午夜在线观看| 精品久久久久久无码中文野结衣| 免费一区二区三区在线观看 | 日本黄色三级大片| 特色特色大片在线| 免费成年人高清视频| 久久久999视频| 日本在线观看视频一区| 黄色一级片播放| 久久婷婷综合色| 国产区二区三区| 色91精品久久久久久久久| 日本xxxx黄色| 欧美精品 - 色网| 日韩欧美猛交xxxxx无码| 免费看欧美黑人毛片| 日韩欧美亚洲天堂| 天天碰免费视频| 欧美大片久久久| 91精品国产91久久久久麻豆 主演| 欧美一级欧美一级| 亚洲黄色av网址| 国产精品igao网网址不卡| 免费高清一区二区三区| 十八禁视频网站在线观看| 中文字幕视频在线免费观看| 日本不卡一区二区三区四区| 国产一级做a爰片久久毛片男| 国产日产欧美视频| 99精品视频网站| 国产成人无码一二三区视频| www.色.com| 大肉大捧一进一出好爽视频| 亚洲免费在线播放视频| 日韩国产欧美亚洲| 欧美国产在线一区| 国产真实乱子伦| 国产一区二区三区播放| 国产九九在线观看| 国产女女做受ⅹxx高潮| 黄色三级视频在线播放| 人妻有码中文字幕| 国产成人在线小视频| 天天做天天干天天操| 18禁免费无码无遮挡不卡网站| 在线免费看污网站| 99视频在线视频| 欧美日韩二三区| 国产一线二线三线女| 欧美激情第一区| 日韩av片网站| 激情婷婷综合网| 国产精品333| 男人c女人视频| japanese在线视频| 国产高清av片| 日本不卡一区二区在线观看| www日韩在线观看| 免费成人在线视频网站| www.av片| 人妻av中文系列| 日日碰狠狠添天天爽超碰97| 国产一区二区三区小说| 欧美大黑帍在线播放| 97超碰免费观看| 精品嫩模一区二区三区| 最新av网址在线观看| 黄色一级片网址| 精品免费久久久久久久| 欧美一级爱爱视频| 成人免费播放器| 热99这里只有精品| 欧美女人性生活视频| 免费无码国产v片在线观看| 虎白女粉嫩尤物福利视频| 日韩在线视频在线观看| 免费在线观看的毛片| 男操女免费网站| 五月六月丁香婷婷| 香港三级日本三级a视频| 日本熟妇人妻xxxx| 天天摸天天碰天天添| 91蝌蚪视频在线观看| 国产精品嫩草影视| 乱熟女高潮一区二区在线| 国产av天堂无码一区二区三区| 可以在线看的av网站| av丝袜天堂网| 一级片黄色免费| 男人日女人视频网站| 热久久精品国产| 夜夜爽久久精品91| 久久综合色视频| jizz欧美性11| www.男人天堂网| 成年人在线观看视频免费| 国产91av视频在线观看| 每日在线观看av| 亚洲色图偷拍视频| 男女高潮又爽又黄又无遮挡| 日本中文字幕影院| 免费看国产曰批40分钟| 欧美午夜精品理论片| 日本a视频在线观看| 99中文字幕在线| 中国丰满人妻videoshd| 日韩视频在线免费播放| 国产精品亚洲a| 国产玉足脚交久久欧美| 911av视频| 欧在线一二三四区| 大陆av在线播放| www.久久com| 天天操天天爱天天爽| 一卡二卡三卡视频| eeuss中文| 久久黄色片网站| 熟女少妇精品一区二区| 麻豆md0077饥渴少妇| 国产成人在线综合| 色一情一乱一伦一区二区三区日本| 国产美女作爱全过程免费视频| 欧美成人福利在线观看| 亚洲男人天堂色| 国产综合免费视频| 精品一区二区中文字幕| r级无码视频在线观看| 欧美一级爱爱视频| 特级黄色录像片| 大桥未久一区二区三区| 国产精品jizz在线观看老狼| 国产又黄又猛的视频| 97超碰人人爽| 天堂av8在线| 欧美 日韩 国产 在线观看| 伊人成人免费视频| 熟女视频一区二区三区| 最近免费观看高清韩国日本大全|