EffectiveJava 學習總結(一)

2021-08-02 02:40:13 字數 1099 閱讀 4998

1、考慮用靜態工廠方法代替構造器

引數例項化的時候使**變得更加簡介

缺點 2、遇到多個構造器引數時要考慮用構建器

構建器(builder)

缺點 描述

**

public

class

nutritionfacts

// 構建器

public

static

class

builder

public builder calories(int val)

public builder fat(int val)

public builder carbohydrate(int val)

public builder sodium(int val)

public nutritionfacts build()

}// 測試

public

static

void

main(string args)

}

3、用私有構造器或者列舉型別強化singleton屬性

**

public

enum elvis

public

static

void

main(string args)

}

4、通過私有構造器強化不可例項化的能力

5、避免建立不必要的物件

private

static

final date boom_start; // 在靜態域內初始化

private

static

final date boom_end; // 在靜態域內初始化

static

public

boolean

isbabyboomer()

6、消除過期的物件引用

object result = elements[--size];

element[size] = null;

7、避免使用終結方法

Effective Java 學習筆記 6

及時消除不使用的物件的引用,理論上,帶有記憶體管理的語言是不存在記憶體洩漏的,但是如果對物件的操作不當,也是可能會造成記憶體洩漏.如有乙個stack,其pop函式如下.public object pop if element.length 0 return null return element s...

Effective Java 學習筆記(5)

盡量復用物件,而不是建立新的物件,特別是當乙個物件是immutable 不可改變 的時候。如string物件,string s new string string 千萬不要這樣做,因為這裡實際上建立了兩個物件。要避免出現這樣的情況,1是可以用靜態工廠函式,來解決,如類庫中的boolean.value...

Effective Java 學習筆記 6

及時消除不使用的物件的引用,理論上,帶有記憶體管理的語言是不存在記憶體洩漏的,但是如果對物件的操作不當,也是可能會造成記憶體洩漏.如有乙個stack,其pop函式如下.public object pop if element.length 0 return null return element s...