技巧 3: 得到兩個中的*好的.
一個解決在簡單類(象 Point 之類)的對象創建的問題, 更好的方法是使 Point 對象不可變,但是定義一個可變的子類。 Shape 可以安全返回一個 myLocation 的引用, 因為調用者試圖修改域或者調用設置函數會失敗. (當然, 調用者仍然可以把 Point 轉換為 MutablePoint, 但這明顯不安全, 這樣的調用者可能得到他們想要的)。
這個技巧 -- 返回一個具有可變的和不可變的類, 只允許讀對象, 而不創建新對象 --在 Java 1.3 類庫 java.math.BigInteger 類中使用. MutableBigInteger 類不可見 --它是一個只在 java.math 類庫中內部使用的私有類型. 但是既然 BigInteger 的一些方法(象 gcd()) 在許多數學操作中都有, 在一個地方操作比創建上百個臨時變量性能提高非常大.
總結
一、所有的網站性能優化之中, 值得記住的是有許多程序的性能可以完全接受的情況. 在這些情況下, 不值得犧牲可讀性, 可維護性, 抽象, 或者其他可取的程序屬性來獲得性能. 但是, 既然許多性能問題的種子在設計時就種下了, 要注意到設計思想潛在地對性能的沖擊,當你設計的類在關注性能的情況使用, 你可以有效地使用這里提到的技巧來減少臨時對象的創建
【招生辦】
成都鐵路衛生學校
聯系人:楊老師
咨詢電話:028-81459650
移動電話:13096365338
咨詢QQ:2763031284
郵箱:2763031284@qq.com
地址:四川省成都市郫縣團結
網址:
成都鐵路衛生學校 http://www.tineng.net/
高考200分能上什么大學 http://www.57fenshu.com/
成都東軟學院 http://www.bangboer.com/uccniit/ |
|