“這肯定是他們的BUG”,作為程序員,你是不是聽到過這樣的聲音。
我們的系統是在DOMINO基礎上開發的,現在應用到一個有三千人的IT公司,天天的訪問量還是很可觀的。我們的系統用的很好,很多人都喜歡。但是我們一直被一個問題搞的頭痛,那就是我們的HTTP進程不知道什麼時候就會當掉,也許是晚上,也許是兩個禮拜,也許是一分鐘後,盡管不是很頻繁。但是我們必須解決這個問題。
我們大概研究了IBM的一些代碼和我們自己的代碼,試著對我們的代碼去做一些改變。我們也請IBM技術支持的過來了,結果還是一樣。這個時候大家都認為,這肯定是IBM的BUG。要不就是JDK的問題。得出這個結論後,我們幾乎要放棄了。
但是幾天後我們忽然明白一點,DOMINO下的Java對象的回收和線程似乎和我們以前的處理並不是一樣的。也就是說,我們的處理方法可能要做一個改變。也許就是某些動作不能並發的。我們改進了我們的方法,系統確實穩定了很多。盡管問題還存在,但從這些天運行的情況看,要比以前好很多。而且今天我們又發現了我們的代碼又有另外的缺陷,相信這將解決我們的問題。
我們也得到了一個經驗,不要說這是他們的BUG,問題沒有解決,那就是我們的代碼並不那麼完美。