博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java9新特性-11-String存储结构变更
阅读量:5322 次
发布时间:2019-06-14

本文共 1353 字,大约阅读时间需要 4 分钟。

1. 官方Feature

JEP254: 

 


2. 产生背景

Motivation

The current implementation of the String classstores characters in a char array,using two bytes (sixteen bits) for each character. Data gathered from manydifferent applications indicates that strings are a major component of heapusage and, moreover, that most String objectscontain only Latin-1 characters. Such characters require only one byte ofstorage, hence half of the space in the internal char arraysof such String objects is going unused.

 


3. 使用说明

Description

We propose to change the internal representation of the Stringclass from a UTF-16 char array to a byte array plus an encoding-flag field. The new String class will store characters encoded either as ISO-8859-1/Latin-1 (one byte per character), or as UTF-16 (two bytes per character), based upon the contents of the string. The encoding flag will indicate which encoding is used.

�结论:String 再也不用 char[] 来存储啦,改成了 byte[] 加上编码标记,节约了一些空间。

 

 
 

 


4. 拓展:StringBuffer 与StringBuilder

那StringBuffer 和 StringBuilder 是否仍无动于衷呢?

�String-related classes such as AbstractStringBuilder, StringBuilder, and StringBuffer will

be updated to use the same representation, as will the HotSpot VM's intrinsic string operations.

作者:尚硅谷面试官宋红康 链接:https://www.jianshu.com/p/39ae521056c2 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

转载于:https://www.cnblogs.com/wzlbigdata/p/8278392.html

你可能感兴趣的文章
【转】/bin/bash^M: bad interpreter: No such file or directory
查看>>
git format-patch
查看>>
[BZOJ4861][BJOI2017]魔法咒语(AC自动机+矩阵优化DP)
查看>>
互联网产品运营一览
查看>>
AGC 016B.Colorful Hats(思路)
查看>>
【转】我们为什么要使用AOP?
查看>>
js获取前n天的时间
查看>>
九、JSP入门(1)
查看>>
vs2010 用户控件拖到aspx页面不可用
查看>>
C# 压缩图片到指定宽度,假如图片小于指定宽度 判断图片大小是否大于指定大小(KB) 如果大于则压缩图片质量 宽高不变...
查看>>
JS date对象的减法处理
查看>>
autofac 遇到构造函数问题
查看>>
Uninstall Tool3.5.3
查看>>
springcloud12---sidecar
查看>>
连接mysql数据库
查看>>
[Flex] ButtonBar系列——flex3 ButtonBar各项之间的间距调整
查看>>
电信云物资网崩溃问题原因
查看>>
java-方法。(新手)
查看>>
css选择器总结
查看>>
Hibernate 悲观锁,乐观锁
查看>>