“这肯定是他们的BUG”,作为程序员,你是不是听到过这样的声音。
我们的系统是在DOMINO基础上开发的,现在应用到一个有三千人的IT公司,天天的访问量还是很可观的。我们的系统用的很好,很多人都喜欢。但是我们一直被一个问题搞的头痛,那就是我们的HTTP进程不知道什么时候就会当掉,也许是晚上,也许是两个礼拜,也许是一分钟后,尽管不是很频繁。但是我们必须解决这个问题。
我们大概研究了IBM的一些代码和我们自己的代码,试着对我们的代码去做一些改变。我们也请IBM技术支持的过来了,结果还是一样。这个时候大家都认为,这肯定是IBM的BUG。要不就是JDK的问题。得出这个结论后,我们几乎要放弃了。
但是几天后我们忽然明白一点,DOMINO下的Java对象的回收和线程似乎和我们以前的处理并不是一样的。也就是说,我们的处理方法可能要做一个改变。也许就是某些动作不能并发的。我们改进了我们的方法,系统确实稳定了很多。尽管问题还存在,但从这些天运行的情况看,要比以前好很多。而且今天我们又发现了我们的代码又有另外的缺陷,相信这将解决我们的问题。
我们也得到了一个经验,不要说这是他们的BUG,问题没有解决,那就是我们的代码并不那么完美。