最近几天的工作总结

缓存真的很重要,这几天在做信息采集的过程中,需要动态的生成程序集,原先没有采用任务的措施,不断的生成新的程序集,使程序的内存涨到1G,导致Out of Memory,后来对其施加了缓存及同步的控制(因为是多线程的程序),程序内存暂用最高达到45M左右,基本可以接受了。

二个关于调试的技巧,一个是查看Debug->Output窗口的信息,如果你的程序运行得不太对劲,可以看看这里的信息会对你有帮助,我就是在程序运行的过程中,发现Output窗口不停的在载入程序集,所以想到了是由于动态生成程序集的缘故导致内存疯涨。

另一个技巧是,在调度多线程程序时,你可以使用Debug->Threads容器,里面会显示当前运行程序的所有线程的情况,但是这个得下了断点的情况下才能查看。这对于像我的自制了线程池的程序,观察线程的变化还是有些帮助的,当然是属于土方法啦,有好的方法,高手支招啊

另外在程序的另外一个地方也使用的缓存,在这个地方应用缓存的场景是这样的,由于创建这个对象需要较多的资源,而在程序中复用的频度比较高。因此我缓存了它。

目前程序中我还没有考虑缓存的策略,缓存的失效更新等问题,或许可以期待某个缓存的组件。最近园子里讲分布式缓存的还挺多的,大家有兴趣可以看看哈,

另外最近讲设计模式和分层架构的讨论之风又上来了,对这两个的讨论很是头痛啊

原文地址:https://www.cnblogs.com/lexus/p/1273333.html