了解有关JDK9紧凑弦乐的信息(视频回顾Charlie Hunt)
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
了解有关JDK9紧凑弦乐的信息(视频回顾Charlie Hunt)相关推荐
- jdk 9和jdk8_了解有关JDK9紧凑弦乐的信息(视频评论Charlie Hunt)
jdk 9和jdk8 JDK 9引入了一个称为紧凑字符串的新功能. 鉴于Java程序中字符串的普遍存在,我认为这是一个非常重要的更改,所有Java开发人员都需要理解. 在此视频中,查理·亨特(Char ...
- 信息传递趋势:未来将迈入信息视频化时代
人类社会传递信息的载体经历了从文字到图片到声音,再到视频的进化,信息的表达更加的直观.丰富,方便了人与人之间的沟通以及信息的传递. 而人工智能的出现则带来了更多可能,人工智能将改变人类文明进程的言论甚 ...
- 用opencv查看视频信息(视频的宽度、高度、帧率和总得帧数)
用opencv查看视频信息(视频的宽度.高度.帧率和总得帧数) // look_up_fps.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h" ...
- 用OpenCV查看视频信息(视频的宽度、高度、帧率和总帧数)
用OpenCV查看视频信息,包括:视频的宽度.高度.帧率和总帧数. 详细代码如下: //用OpenCV查看视频信息(视频的宽度.高度.帧率和总帧数)#include "stdafx.h&qu ...
- 视频回顾 | 微信生态数字化运营进阶课大全!
随着微信生态的不断完善,小程序直播.视频号相继推出,订阅号史无前例大改版.小程序也将支持分享至朋友圈.背靠微信庞大的流量池,要如何提高用户留存.做好导流,以及付费转化?成为当前流量运营最关注的话题. ...
- 视频回顾 | Pulsar Summit Asia 2020 · 场景案例(上):即时零售, 金融证券, 物联网, 电信计费等...
关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支 ...
- 张力柯:从技术演变的角度看互联网后台架构(附视频回顾)
5月25日,互联网架构技术沙龙圆满落幕.本期沙龙特邀请腾讯的技术专家分享关于技术架构.落地实践案例.无服务器云函数架构.海量存储系统架构等话题,从技术角度看架构发展,为开发者们带来丰富的实践经验内容, ...
- 视频回顾丨带你逛腾讯全球数字生态大会「腾讯技术工程」展区
5月21-23日,为期三天的"腾讯全球数字生态大会"在昆明滇池国际会展中心召开,除了大咖云集的主论坛.干货满满的分论坛,大会展区里也干货满满,各种优秀解决方案.技术应用和黑科技引人 ...
- 视频回顾|Pulsar Summit Asia 2021,案例、运维、生态干货不断
Pulsar Summit 是 Apache Pulsar 社区年度盛会,它将分布在世界各地的 Apache Pulsar 项目 Contributor.Committer 和各企业 CTO/CIO. ...
最新文章
- Libgdx学习笔记:Simple text input
- python自带模块连接数据库_Python模块Sqlite数据库模块
- dockerfile构建镜像的命令_编写Dockerfile的最佳实践
- 编译成功但链接失败的原因
- rome rss_RSS阅读器使用:ROME,Spring MVC,嵌入式Jetty
- php自动include,PHP include_php
- Jquery 强大的表单验证操作
- arduino交通灯编程代码_Arduino初初教程3 (交通灯)
- 怎样用c语言写高速超速罚款标准,如何做到科一满分一把过?超速扣分题必须掌握!...
- 2023年最热门的网络安全岗位分析
- 计算机硬盘没显示,移动硬盘不显示在我的电脑
- 《人物动作:角色骨骼、蒙皮制作工艺》
- glibc和musl libc的区别
- 手把手系列--验证自己编写的STM32H750XBH6_ArtPi平台Keil MDK Flash下载算法
- DBA常用命令——数据库导入导出文件
- ces展会的一点看法
- IBM服务器配置RAID5+热备教程
- linux 安装打印机驱动
- 代码可视化之 对“雅奇MIS”的认识
- Python 爬虫,推荐一款简单的抓包工具(续)