关于String在java9中的新特性

    在java9中,String类对比以前做了很多的优化,其中引入了一个新常量“COMPACT_STRINGS”,作用是压缩String对象在heap中的空间占用。

    比如你的字符串全是拉丁文,比如"hello world",每个字符用过UTF-16编码方式储存在java堆汇中,将占用2*11byte,然而众所周知,像字符'h’其实只需要用一个字节就能储存,这就导致储存这样一个字符串将会浪费一半不必要的空间。java9中通过COMPACT_STRINGS来压缩(compress)这样的字符串,具体操作如下:当创建String对象时,会判断COMPACT_STRINGS是否启动,启动的话,对字符数组进行判断,是否全是能在Latin-1编码方式下储存的字符;若是,则将字符数组的储存空间进行压缩;若不是,则将按原来方式进行储存。

 

总结:以后多String对象能不用中文字符就别用了。

转载于:https://my.oschina.net/StupidZhe/blog/1555680

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值