惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
IT之家
IT之家
V
Visual Studio Blog
The Cloudflare Blog
博客园 - 司徒正美
Jina AI
Jina AI
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
美团技术团队
S
SegmentFault 最新的问题
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
T
Tailwind CSS Blog
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
博客园 - 三生石上(FineUI控件)
爱范儿
爱范儿
博客园 - Franky
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - ScorpioLove

一个小题目 1000 的阶乘有几位数? - 后续, 求解 终于又能登录了 [转] vim 中关于 tab 的使用技巧 ASCII Table 排列组合 模拟"九连环"的小算法 1000 的阶乘有几位数? 总结一下最近做得事 Debian 下安装 Java 开发环境 Debian etch 下安装配置支持 CJK 的 tex 系统 行频、场频与分辨率、刷新率 一些 Java 语言的基础细节 Some good articles for me Vim 命令 Big Integer Multiplication [转]Debian/Ubuntu下tetex3的gbk字体配置方法 - giv@kyxk.net [转]FVWM的配置文件 - archerC@kyxk.net I do
[面试]内存泄漏查找位置
ScorpioLove · 2007-01-11 · via 博客园 - ScorpioLove

刚进一个项目组, 不熟悉代码, 产品跑个三四天就报内存不够, 肯定是 code 里面有问题, 怎么找到问题的所在?

-- 找 static 的東西,特別是 static 的 Collection。

-- 是不是因为 GC 忽略 static 的内容?

   -- 這個是肯定的,程序員很容易就犯錯誤,比較常見的就是 singleton 的 manager 問題,有些 static 的 Collection,往裏麵 put 了,卻沒有 remove,還是 static 的……

   -- 不是 gc 忽略 static 的内容。因为 static 的 collection 的生命周期和程序的运行周期一样长,如果在 static 的 collection 中有其他对象的引用,那么 gc 就永远不会收集里面的内容,即使在其他地方也没有用到了。很经典的内存泄漏就是在 Stack 的设计中,弹出一个 element 的时候,没有把其中的引用置为 NULL。在缓存设计中也会有这个问题,解决类似问题的一个办法是采用弱引用。

-- 找那些 singleton 會找出點東西

-- 一般的 Java 里面内存泄露都与 Collection 有关,常见的可能是 map 里面放了太多的东西,不用的时候又没有 remove 掉;所以 Java 里面有 WeakHashMap 这个类以及相关的一些类、接口