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

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

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


    posts - 10,comments - 4,trackbacks - 0
    Avoid creating duplicate objects避免創(chuàng)建重復(fù)的對象
    It is often appropriate to reuse a single object instead of creating a new functionally equivalent object each time it is needed. Reuse can be both faster and more stylish. An object can always be reused if it is immutable

    String s = new String("silly"); // DON'T DO THIS!

    String s = "No longer silly";//do this

    In addition to reusing immutable objects, you can also reuse mutable objects that you know will not be modified. Here is a slightly more subtle and much more common example of what not to do, involving mutable objects that are never modified once their values have been computed:
    除了重用非可變的對象之外,對于那些已知不會被修改的可變對象,你也可以重用它們。

    such as
    public class Person {
    private final Date birthDate;
    // Other fields omitted
    public Person(Date birthDate) {
    this.birthDate = birthDate;
    }
    // DON'T DO THIS!
    public boolean isBabyBoomer() {
    Calendar gmtCal =
    Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    gmtCal.set(1946, Calendar.JANUARY, 1, 0, 0, 0);
    Date boomStart = gmtCal.getTime();
    gmtCal.set(1965, Calendar.JANUARY, 1, 0, 0, 0);
    Date boomEnd = gmtCal.getTime();
    return birthDate.compareTo(boomStart) >= 0 &&
    birthDate.compareTo(boomEnd) < 0;
    }
    }

    改良的版本.
    The isBabyBoomer method unnecessarily creates a new Calendar, TimeZone, and two Date instances each time it is invoked. The version that follows avoids this inefficiency with a static initializer:

    class Person {
    private final Date birthDate;
    public Person(Date birthDate) {
    this.birthDate = birthDate;
    }
    /**
    * The starting and ending dates of the baby boom.
    */
    private static final Date BOOM_START;
    private static final Date BOOM_END;
    static {
    Calendar gmtCal =
    Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    gmtCal.set(1946, Calendar.JANUARY, 1, 0, 0, 0);
    BOOM_START = gmtCal.getTime();
    gmtCal.set(1965, Calendar.JANUARY, 1, 0, 0, 0);
    BOOM_END = gmtCal.getTime();
    }
    public boolean isBabyBoomer() {
    return birthDate.compareTo(BOOM_START) >= 0 &&
    birthDate.compareTo(BOOM_END) < 0;
    }
    }

    。一個適配器是指這樣一個對象:它把功能委
    托給后面的一個對象,從而為后面的對象提供一個可選的接口。由于適配器除了后面的對象之外,沒有其他的狀態(tài)信息,所以針對某個給定對象的特定適配器而言,它不需要創(chuàng)建多個適配器實例。

    This item should not be misconstrued to imply that object creation is expensive and should be avoided. On the contrary, the creation and reclamation of small objects whose constructors do little explicit work is cheap, especially on modern JVM implementations. Creating additional objects to enhance the clarity, simplicity, or power of a program is generally a good thing.
    Conversely, avoiding object creation by maintaining your own object pool is a bad idea unless the objects in the pool are extremely heavyweight. A prototypical example of an object that does justify an object pool is a database connection. The cost of establishing the connection is sufficiently high that it makes sense to reuse these objects. Generally speaking, however, maintaining your own object pools clutters up your code, increases memory footprint, and harms performance. Modern JVM implementations have highly optimized garbage collectors that easily outperform such object pools on lightweight objects.
    posted on 2006-03-31 15:19 dodoma 閱讀(209) 評論(0)  編輯  收藏 所屬分類: java基礎(chǔ)
    主站蜘蛛池模板: 亚洲无线电影官网| 亚洲爆乳精品无码一区二区三区| 日韩免费码中文在线观看| 亚洲精品无码精品mV在线观看| 91在线手机精品免费观看| 豆国产96在线|亚洲| 亚洲国产精品无码专区| 成人奭片免费观看| 国产免费一区二区三区免费视频| 久久丫精品国产亚洲av| 免费A级毛片无码久久版| 99久久99热精品免费观看国产 | 亚洲精品第一国产综合亚AV| 亚洲日本中文字幕天堂网| 91制片厂制作传媒免费版樱花| 国产精品日本亚洲777| 久久精品国产亚洲AV电影 | 亚洲福利一区二区| 亚洲VA综合VA国产产VA中| 97热久久免费频精品99| 国产精品福利片免费看 | 久久不见久久见免费视频7| 国产成人亚洲综合a∨| 亚洲成无码人在线观看| 国产AV无码专区亚洲AV漫画| 最近中文字幕无吗免费高清| 最好免费观看高清在线 | 免费鲁丝片一级观看| 精品一区二区三区免费毛片爱| 一本久久A久久免费精品不卡 | 99re热精品视频国产免费| 美女被吸屁股免费网站| 精品亚洲成A人无码成A在线观看| 亚洲女同成av人片在线观看| 国产美女无遮挡免费视频| 成人免费视频网站www| 免费在线看污视频| 亚洲精品视频免费| 黄页网址大全免费观看12网站| 亚洲综合一区无码精品| 久久av无码专区亚洲av桃花岛|