享元模式
28.1 内存溢出, 司空见惯下午, 我正在开会中, 老大推门进来。“三儿, 出来一下。 ”我刚出会议室门口, 老大就发话了。“郎当(姓朗, 顺口就叫郎当) 的那个报考系统又crash了一台机器, 两天已经宕了4次了, 你这边还有紧急的事情没有? ……没有, 那赶快过去顶一下, 就运行三天的程序, 两天宕了4次, 还怎么玩? ! ”我马上收拾东西, 冲到马路上拦了出租车, 同时打电话给郎当。“三哥, 厂商人员已经定位出了, OutOfMemory内存溢出, 没查到有内存泄漏的情况, 现在还在跟踪……是突然暴涨的, 都是在繁忙期出现问题的……”内存溢出对Java应用来说实在是太平常了, 有以下两种可能。● 内存泄漏无意识的代码缺陷, 导致内存泄漏, JVM不能获得连续的内存空间。● 对象太多代码写得很烂, 产生的对象太多, 内存被耗尽。 现在的情况是没有内存泄漏, 那只有一种原因——代码太差把内存耗尽。到现场后, 郎当给我介绍了一下系统情况。 该系统是一个报考系统, 其中有一个模块负责社会人员报名, 该模块对全国的考试人员只开放3天, 并且限制报考人员数量。 第一天9点开始报考, 系统慢得像蜗牛, 基本上都不能访问, 后来设置了HTTP Server的并发数量, 稍有缓解, 40分钟后宕了一台机器, 10分钟后, 又挂了一台, 下午3点又挂了一台, 看样子晚上要让郎当去寺庙烧烧香了