1. 接口參數進行驗證
2. 保護性拷貝
避免因為測試外參數變更對方法造成影響:如下
可以這樣來實作方法解決這個問題:
以及對get方法中的傳回值使用clone或者new新對象等
3. 傳回空的數組或者集合而不是null
4. 局部變量作用于最小化
防止拷貝錯誤,更好的垃圾回收
5. 盡量使用基本類型,隻有在作為key,或者是必須用封裝類型的地方采用
出了性能上的損耗外,上面的代碼還容易造成錯誤。
6. 對于可恢複的情況适用受檢異常,對于程式設計錯誤适用運作時異常
7. 可以适用it.hasnext()這樣的狀态檢測方式或者是傳回狀态碼的方式來減少運作時異常
8. 一些常用的标準異常
illegalargumentexception 參數不合适的異常
illegalstateexception 調用方法是對象的狀态不正确,比如沒有這個對象沒有初始化
nullpointerexception
indexoutofboundsexception
unsupportedoperationexception 對象不支援使用者請求的方法
arithmeticexception 數學計算的時候出現錯誤,比如除0了
numberformatexception 數字格式錯誤
9. 序列化要加上uid,并且記得在需要的時候修改它,如果不加的話jvm會根據類資訊自動算出uid,有可能在很小的變動之後就造成接口不相容。
10. 序列化有可能被攻擊,比如别人直接生成了一個二進制檔案,然後被讀入就可以進行攻擊。為了防止這種攻擊,可以使用readobject方法,進行簡單的參數驗證