程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> String駐留帶來的危害,string駐留危害

String駐留帶來的危害,string駐留危害

編輯:C#入門知識

String駐留帶來的危害,string駐留危害


原創文章轉載請注明出處:@協思, amwicfai.cnblogs.com  

前段時間接手了一個項目優化工作,在同等場景下內存使用從4G降低到200M。

  項目是將實體序列化成字符串存入Redis, 再從Redis取出字符串反序列化,乍看沒什麼問題。   這裡忽略了一個事實,CLR會在內存駐留字符串,本意是調優性能,防止重復字符串帶來的開銷。由於這個項目中這種序列化的字符串沒有任何重用的價值,且個頭不小。在頻繁交互下內存使用一路上漲。   CLR沒有提供消除預留字符串的方式,只能避開這個問題,那就是不使用字符串,改用Byte[]。   Byte[]使用完畢會被GC回收,自然內存就降下來了。

  1. 上一頁:
  2. 下一頁: