Effective Java 독서회 첫날
5503 단어 Java
http://d.hatena.ne.jp/amachang/20100215/1266245521
대체 프로젝트 1 구조기 연구 static 공장 방법
public class Car {
//クラス変数
public static int createdCar = 0;
//インスタンス変数
public int adultNum;
//車を作るときのコンストラクタ
Car() {
this.adultNum=4;
Car.createdCar += 1;
}
//adultNum人乗りの車を作るコンストラクタ
Car(int adultNum) {
this.adultNum = adultNum;
Car.createdCar += 1;
}
public static Car newInstance() {
this();
}
}
↔실례 방법: 실례에 속하는 방법.종류마다 여러 개가 있다.실례가 없으면 사용할 수 없다
Good
좋아하는 이름으로 지어졌어요. (구조기의 과부하 상황을 알기 어려워요)
객체의 생성을 제어할 수 있습니다(객체의 생성은 비용입니다).
대상 생성 제어는enum에 있습니다!
반환 반환 유형의 하위 유형 범주 반환
만약 구조기라면 그 반 자체를 돌려줄 수밖에 없다
생성 대상 (때로는) 간단 (guava 라이브러리)
형식 매개 변수를 두 번 쓰기가 힘듭니다.
Bad
전문적인 컴퓨터를 가진 반의 하위 클래스를 만들 수 없다
구조기도 마찬가지인가요?
다른 방법과 이름으로 구분할 수 없습니다
공장 방법이에요!이름 지어줄게.
valueOf, of, getInstance, newInstance, getType, newType
프로젝트 2 여러 개의 구조기 파라미터에 직면할 때 구조기를 연구한다
이름 있는 파라미터처럼 멋있어!
프로젝트 3은 privete의 구조기나 enum형 강제 단식 특성을 사용합니다
단식은 어렵든 어렵지 않든 테스트할 수 없다
단식을 하려면 Enum형이 제일 좋아요.
singleton.java
public enum PropertiesCarrer {
INSTANCE("env.properties");
private bundle;
private String name;
public PropertiesCarreer(name) {
bundle = ResouceBundle.getBundle(name);
}
public ResouceBundle getBundle() {
return bundle
}
}
PropertiesCarrer.INSTANCE.getBundle();
프로젝트 4 provate 구조기로 강제 실례화 불가
구조기를 privte로 만들어 실례화하지 않음(ex단식, Util 등급 등)
클래스 방법으로만 구성된 클래스, 클래스 이름.방법()처럼 부르다
무상태
서비스 클래스
실례 방법류.방법()처럼 부르다
스프링, SAStruts에서는 단식 대상이기 때문에 컨디션 없이 만드는 게 좋아요.
프로젝트 5 불필요한 객체 생성 방지
객체를 생성하려면 비용이 필요합니다.
아무것도 new 하지 않고 재사용 대상을 고려하다
트랩 → SimpleDateFormat
다중 스레드에서 비스레드 보안 대상(상태 대상)을 공유하면 오류가 발생합니다
→ 모든 것을 재활용해서는 안 된다
맵 같은 게 뚜렷한 상태인 건 알지만 sdf는 직관적인 상태가 아니야...
항목 6 무효 대상 인용 삭제
너는 상대가 언제 죽을 것 같니?
Stack은 과거에 배열된 모든 객체를 참조하므로 참조 수가 0이 아닙니다.
아무것도 비우지 마세요.
프로젝트 7 Finaliza 방지
C++ 사용자: 아, 분석기가 없네요.
자원의 회수는finally에서 해야 합니다.
그럼 얘가 쓸 거예요?
지금은 자원이 풀리지 않았을 때의 보험으로 사용되고 있는 것 같아요.
제3장 여기서) ↓
http://qiita.com/qwerty__/items/bb40ca48674bcbbe98bd
Reference
이 문제에 관하여(Effective Java 독서회 첫날), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nabuchi/items/087803bda368bdb29a19텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)