1. 程式人生 > >java程式碼優化(一)——建立和銷燬物件

java程式碼優化(一)——建立和銷燬物件

用靜態工廠方法代替構造器

準備知識

自動裝箱:從基本資料型別轉換成包裝型別

自動拆箱:從包裝型別轉換成基本資料型別

包裝類:

  • number(數字型別)
  1. Byte(byte)
  2. Short(short)
  3. Integer(int)
  4. Long(long)
  5. Double(double)
  6. Float(float)
  • Character(字元型別)
  • Boolean(布林值)

利用靜態工廠方法來建立物件

當我們利用構造器建立物件時,如果構造器的引數很多會造成new的物件裡要填寫很多引數,很容易導致錯誤。而且每次都建立一個新的物件,肯定會佔用大量記憶體,所以使用靜態工廠方法可以解決這些問題。

private class Person {

	private static Person person = null;
	
	public static Person getInstance(){
		if(person == null){
			person = new Person();
		}
		return person;
	}
	
}

靜態工廠方法的優勢

①每次呼叫靜態工廠方法,都不會重複建立物件。

利用不可變類的設計原則,當物件總是重複建立,並且建立物件的代價很高,可以提高效能

final class Immutable {
	
	private static final Immutable immutable = new Immutable();
	
	public static Immutable getInstance(){
		return immutable;
	}

	public static Immutable getImmutable() throws CloneNotSupportedException {
		return (Immutable) immutable.clone();
	}
	
}