<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    歡迎使用我的 在線工具

    小D

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

    《Effective Java》學(xué)習(xí)筆記

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

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

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

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

    主站蜘蛛池模板: 亚洲av无码片在线观看| 456亚洲人成影院在线观| 色欲A∨无码蜜臀AV免费播| 亚洲精品欧洲精品| 亚洲综合激情另类小说区| a毛片基地免费全部视频| 美女被爆羞羞网站在免费观看 | 毛片无码免费无码播放| 亚洲国产系列一区二区三区| 少妇无码一区二区三区免费| 国产成人精品日本亚洲11| 亚洲精品国产高清不卡在线| 99久热只有精品视频免费观看17| 亚洲人AV在线无码影院观看| 亚洲中文字幕无码久久综合网| 真人做A免费观看| 伊人久久国产免费观看视频| 91亚洲精品视频| 亚洲精品美女久久久久99小说| 99国产精品免费视频观看| 国产AV日韩A∨亚洲AV电影| 久久精品国产亚洲AV无码偷窥| 亚洲av成人一区二区三区在线观看 | 国产亚洲综合精品一区二区三区| 国产亚洲美女精品久久久久狼| 免费看无码特级毛片| 亚洲综合欧美色五月俺也去| 国内精品99亚洲免费高清| 性感美女视频免费网站午夜| 久久久久国产精品免费免费不卡| 国产成人亚洲精品播放器下载 | 久久精品国产亚洲av天美18| 亚洲综合久久综合激情久久| 国产黄色一级毛片亚洲黄片大全| 成人在线视频免费| 91九色老熟女免费资源站| 中国一级毛片免费看视频| 亚洲第一成年男人的天堂| 亚洲第一黄片大全| 青青青青青青久久久免费观看| 亚洲免费视频播放|