首页 > 学院 > 开发设计 > 正文

String驻留带来的危害

2019-11-17 02:22:37
字体:
来源:转载
供稿:网友

String驻留带来的危害

Posted on 2015-05-20 16:27 协思 阅读(...) 评论(...) 编辑 收藏原创文章转载请注明出处:@协思,http://zeeman.VEVb.com

前段时间接手了一个项目优化工作,在同等场景下内存使用从4G降低到200M。

项目是将实体序列化成字符串存入Redis, 再从Redis取出字符串反序列化,乍看没什么问题。这里忽略了一个事实,CLR会在内存驻留字符串,本意是调优性能,防止重复字符串带来的开销。由于这个项目中这种序列化的字符串没有任何重用的价值,且个头不小。在频繁交互下内存使用一路上涨。CLR没有提供消除预留字符串的方式,只能避开这个问题,那就是不使用字符串,改用Byte[]。Byte[]使用完毕会被GC回收,自然内存就降下来了。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表