String驻留带来的危害

王朝学院·作者佚名  2016-05-20  
宽屏版  字体: 小 | 中 | 大 | 超大  

String驻留带来的危害 Posted on 2015-05-20 16:27 协思 阅读(...) 评论(...) 编辑 收藏原创文章转载请注明出处:@协思,http://zeeman.cnblogs.com前段时间接手了一个项目优化工作,在同等场景下内存使用从4G降低到200M。

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有