写点什么

有关 Java 9 的 String

作者:HoneyMoose
  • 2022 年 6 月 27 日
  • 本文字数:336 字

    阅读完需:约 1 分钟

一直到 Java 8,Strings 在 Java 中使用字符数组进行存储的,同时使用的是 UTF-16 字符集,因此每一个字符将会使用 2 字节的内存。



从 Java 9 开始,Java 提供了一个叫做压缩字符(Compact Strings)的存储概念。

这个存储将会针对字符串使用 char[] 和 byte[] 中字符编码,这个将会与你需要存储的内容有关。

简单来说就是从 Java 9 开始,String 将会根据存储内容的不同来使用不同的存储格式,只会在必要的时候才会使用 UTF-16 编码,这种设计将会显著降低 String 对内存的使用,并且能够让来让垃圾清理程序(Garbage Collector)更有效率的工作。

简单来说就是 Java 9 以后对 String 字符串的存储进行了优化,针对不同字符集设置了不同的存储方案以降低空间的使用。

https://www.ossez.com/t/java-string-pool/14017

用户头像

HoneyMoose

关注

还未添加个人签名 2021.03.06 加入

还未添加个人简介

评论

发布
暂无评论
有关 Java 9 的 String_HoneyMoose_InfoQ写作社区