歡迎使用我的 在線工具

          小D

          讀歷史、看小說、寫程序都是我所愛。技術不好,頭腦不靈光,靠的是興趣。
          隨筆 - 35, 文章 - 25, 評論 - 13, 引用 - 0
          數據加載中……

          《Effective Java》學習筆記

          1、終結函數守衛(wèi)者
          ? * 通過終結函數守衛(wèi)者,我們能夠保證在外部類對象被回收之前的外部類對象的終結函數的調用
          ? * 應外匿名類的對象的生命周期和Foo相同,而且在回收時先被回收,就守衛(wèi)了終結函數的調用
          ? * 能夠防止忘記或者惡意的不調用終結函數
          2、final 變量只能在聲明時初始化或者在構造方法中初始化
          3、Junit中每次的運行測試案例,將會運行該案例中所有的測試方法。
          4、因為HashMap使用Hash桶來放置對象,理想的情況每個Hash桶只有一個對象,但是一般而言很難,甚至可以形成具有相同的HashCode的鏈表

          5、volatile 保證任何一個線程在讀取一個域的時候都將會看到最近剛剛被寫入的值。
          ?? 簡單的說volatile提供synchronized的可見性,而不提供互斥性。
          ?* 我想volatile,是這用關鍵字volatile修飾過的變量,放在主內存中而不是線程的工作內存
          ?* 這樣每次當該變量的值改變的時候,就會在主內存中改變。
          ?* 而一般的變量,將會在線程的工作內存中保持一份拷貝,然后只在適當的時機,才會將變化寫入到主內存
          ?* 對于同步塊而言,這個時機就是同步塊開始或結束,而其它的時機,我想是在當前使用該變量語句后。
          ?* 當然volatile變量不保證原子性(也就是volatile變量的使用,可能被其它的線程干擾,比如兩個線程同時對該變量操作,但是要在高壓的情況下才能出現,要實現原子性必須對該變量加鎖。),僅保證可見性(總是得到最新修改的值)。

          6、計算機無法進行正確的浮點運算,因為計算機是二進制的,我們在 Java 中可以使用BigDecimal、int或者long進行浮點運算,這樣可以得到準確的結果。
          7、不要使用字符串連接操作符來連接字符串,除非性能無關緊要,否則使用StringBuffer中的append方法,或者使用更好的StringBuilder。
          ?(通常應該優(yōu)先使用 StringBuilder 類,因為它支持所有相同的操作,但由于它不執(zhí)行同步,所以速度更快)。
          8、添加join后當前線程必須要等待該線程結束后在執(zhí)行,也就是將該線程加入到當前線程運行周期之內
          9、如果不想被惡意攻擊,請使用私有的對象監(jiān)視器。永遠不要使用線程組ThreadGroup。
          10、serialVersionUID 表示一個可序列化的類的版本信息,我們應該總是提供一個手動的serialVersionUID,而不是由系統自動生成。這樣可以保證
          ?類的兼容性和節(jié)省略微的性能開銷。
          11、應該總是實現自定義的序列化,除非一個對象的物理結構和邏輯結構式一樣的,即使是這樣我們最好也用自定義的序列化,提供一個readObject方法來
          ?保證約束關系和安全性。
          12、為了實現序列化的Singleton,那么我們應當提供一個readResolve方法。
          13、從本質上來講,readResolve方法將readObject從事實上的公有構造函數變成事實上的公有靜態(tài)工廠(針對于反序列化是產生的對象)。??

          posted on 2009-11-04 20:51 vagasnail 閱讀(243) 評論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 札达县| 罗田县| 石河子市| 富顺县| 清镇市| 柘城县| 卢湾区| 兖州市| 准格尔旗| 富蕴县| 札达县| 怀柔区| 平顺县| 中超| 庄浪县| 康定县| 南城县| 牡丹江市| 临江市| 深水埗区| 乐至县| 资溪县| 阿拉善右旗| 南汇区| 西宁市| 湖北省| 齐河县| 新竹市| 多伦县| 南召县| 精河县| 虞城县| 岳池县| 旅游| 克山县| 分宜县| 和平县| 应城市| 辰溪县| 大新县| 广安市|