1. 程式人生 > >淺談在專案中遇到問題我們應該如何解決

淺談在專案中遇到問題我們應該如何解決

後臺程式碼報錯:看控制檯日誌,找到控制檯中自己的寫的類對應的錯誤程式碼的那一行:(有些資訊是java底層的資訊,看不大懂,不用看,看自己寫的程式碼)

然後分析,具體是在類中對應的方法裡面打個斷點。用Eclipse的debug模式啟動,調到斷點的那一行,具體問題邊跟蹤程式碼便分析。比如空指標最常見的異常,

假如我們正在做增刪改操作,假如做根據id刪除的功能時報錯,看你根據id查詢的物件是否為空,然後推理是否id為空,是否id引數沒有傳遞成功等等,一步一步

的找到問題的原因。

如果後臺不報錯,但是前臺頁面仍然打不開,或者報錯,考慮不是後臺程式碼的問題,而是前臺頁面程式碼的問題,用瀏覽器的debug,例如火狐外掛F12,在前臺程式碼中寫debugger,進行除錯,也可以安裝httpwatch來分析資料。

使用除錯,可以解決大部分的問題。但有些問題就需要經驗來解決:

1.瀏覽器相容性問題:

在開發“客戶群成員關係圖”功能時,用到了關係圖元件MxClient庫,在開發過程中,發現該元件在IE8及IE9下有相容性問題:不能展示圖形節點的背景  圖及樣式、不能展示關係圖之間的連線線。在IE8相容模式下、在IE6及IE7下都能正常展示,在IE8標準模式及IE9標準模式下,都不能正常展示。

解決方法:在排查的過程中,發現同樣的關係圖展示程式碼,在另外的功能模組,能夠正常的展示關係圖資料,說明程式碼沒有問題,在經過多次的排查和程式碼的比較,最終發現原因是在jsp檔案當中,“缺少了文件型別定義”引起的。在在JSP頁面檔案的最前面,增加文件型別定義宣告,增加這行程式碼:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,經驗證,關係圖元件庫,支援文件型別定義“Strict、Transitional、Frameset”中的“Transitional、Frameset”,不支援“Strict”。HTML 4.01 規定了三種文件型別:Strict、Transitional 以及 Frameset。

2.壓力測後出出現連線池不足:解決方法:調整was引數,看程式碼中是否有連結未關閉的情況。

3.記憶體洩露:解決方法:分析HEAPDUMP檔案,找出問題程式碼並解決。

4.部分功能場景響應時間太慢,例如客戶對私對公基本資訊,由於欄位多,100多個欄位,頁面載入很慢,需要關聯的表很多,導致載入資料較慢。