专栏名称: 阿里云开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
今天看啥  ›  专栏  ›  阿里云开发者

一行代码,我优化掉了1G内存占用

阿里云开发者  · 公众号  · 科技公司  · 2024-07-10 08:30
    

文章预览

阿里妹导读 这里一行代码,指的是:String.intern()的调用,为了调用这一行代码,也写了几十行额外的代码。 背景 我们有一个项目,采用了全内存缓存机制。一方面是为了追求卓越的RT,另一方面是数据量确实很小,标准的4C8G容器处理起来绰绰有余。可是突然有一天,预发环境,疯狂报警FullGC,定位了一下原因,原来是这个缓存变得太大了。 正文 我们通常会把数据量级在百条左右的配置项加载到内存里,近期一个新需求,导致配置数据量膨胀到了十万级,一口气加载到了内存里,自然造成了内存占用的上涨。但是,经过分析,这些数据的信息熵并不是很高。大面积的json其实是在存储有限种排列组合的字符串,但是这些字符串被反序列化框架以 new String 的方式重复加载到了堆空间内。 突然想到了常量池这个概念,打算把它用起来,这样在不改变 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览