RT
刚换工作,转来C#不久,做了个程序,持续的在分析数据。
任务管理器里 看到 程序在内存涨到300多M的内存的时候,内存会下降到200多M,然后再涨到300多M后 再降到200多M,周而复始...上司(不是专业做程序的,多少知道点东西吧),问我 内存使用能不能降降。他问我 为什么 涨100多M的时候 会回收,为什么回收了 100多M而不是200多M。
我一下子蒙了,就只说了 动态分配内存 回收得看GC 具体无法确定回收的时间和大小 之类的...
他说了一些 要对内存有足够的把握,不能任由GC去搞 之类的话...
于是来问问大家:GC回收内存的 时机 和 大小 是怎么确定的?能不能自己配置?任何讲解、资料、文章、链接 都欢迎,先谢谢大家了 !!
刚换工作,转来C#不久,做了个程序,持续的在分析数据。
任务管理器里 看到 程序在内存涨到300多M的内存的时候,内存会下降到200多M,然后再涨到300多M后 再降到200多M,周而复始...上司(不是专业做程序的,多少知道点东西吧),问我 内存使用能不能降降。他问我 为什么 涨100多M的时候 会回收,为什么回收了 100多M而不是200多M。
我一下子蒙了,就只说了 动态分配内存 回收得看GC 具体无法确定回收的时间和大小 之类的...
他说了一些 要对内存有足够的把握,不能任由GC去搞 之类的话...
于是来问问大家:GC回收内存的 时机 和 大小 是怎么确定的?能不能自己配置?任何讲解、资料、文章、链接 都欢迎,先谢谢大家了 !!
本来GC的出现,
就是为了让程序员不用关心内存的释放问题
给你推荐一本书先看看吧。
《CLR via C#(第4版)》 第21章 托管堆和垃圾回收 有很详细的描述。
本来GC的出现,
就是为了让程序员不用关心内存的释放问题
本来就是啊,哎 我等底层员工 伺候主子不易啊
不过绝大部分情况,没必要手动这么做 300M内存占用不是什么大不了的