家装设计网站排行榜前十名,wordpress面包屑导航,网站哪里可以做,公司网站域名是什么意思JDK 9引入了一个称为紧凑字符串的新功能。 鉴于Java程序中普遍存在字符串#xff0c;我认为这是一个非常重要的更改#xff0c;所有Java开发人员都必须理解。 在此视频中#xff0c;查理亨特#xff08;Charlie Hunt#xff09;解释了此新功能的历史和实现。 该视频实际上… JDK 9引入了一个称为紧凑字符串的新功能。 鉴于Java程序中普遍存在字符串我认为这是一个非常重要的更改所有Java开发人员都必须理解。 在此视频中查理·亨特Charlie Hunt解释了此新功能的历史和实现。 该视频实际上与紧凑字符串无关。 仅将紧凑型字符串作为案例研究来介绍以说明如何通过大量工作来共同改善三腿工作延迟吞吐量和内存占用。 如果您有时间我绝对建议您观看整个视频尽管紧凑弦乐的实际部分始于26:24。 如果您需要5分钟的概览请看以下要点 字符串密度JEP 254紧凑字符串是JDK 9的功能。 目的是在不影响性能延迟或吞吐量的同时减少内存占用并保持完全的向后兼容性。 JDK 6引入了压缩字符串但是从未将其引入以后的JVM中。 这是一个完整的重写。 为了确定可以节省多少内存分析了960个不同的Java应用程序堆转储。 堆转储的实时数据大小在300MB到2.5GB之间。 char []消耗了实时数据的10至45 绝大多数字符的大小仅为一位即ASCII 75的字符数组不超过35个字符 平均而言应用程序大小的减少为5-15由于标题大小char []大小减少了约35-45 它的实现方式是如果String中的所有字符仅使用1个字节较高的字节为0则将使用byte []而不是char []IS0-8859-1 / Latin1编码。 会有一个再见指示使用哪种编码。 未使用UTF8因为它支持可变长度的字符因此对于随机访问不起作用。 字符串上的private final byte coder指示编码。 请注意将来有空间支持更多编码。 对于所有64位JVM由于8字节对象对齐需要死空间因此不需要额外的字段来存储额外的字段。 在线提供400个JMH基准测试吞吐量不会受到影响。 原因是String高度优化因为仅String就有55种特定的JVM功能。 使用行业基准SPECjbb2015进行的延迟测试也得到了改进并且在SPECjbb2005上进行了回归测试 可以使用-XX CompactStrings启用和禁用该功能但是默认情况下将启用它。 翻译自: https://www.javacodegeeks.com/2016/02/learn-jdk9-compact-strings-video-review-charlie-hunt.html