이펙티브 자바(4)
-
[Effective Java] 아이템 9 : try-finally 보다는 try-with-resources를 사용하라
try-finally InputStream, OutputStream, java.sql.Connection -> 클라이언트가 지나칠 가능성이 있기에 성능에도 문제를 줄 수 있다. 그래서 안전망으로 아이템 8에서 사용한 Finalizer를 사용한다. 또한, 자원이 닫히는 것을 보장하는 try-finally가 존재한다. https://devaily.tistory.com/34 [Effective Java] 아이템 8 : finalizer와 cleaner 사용을 피하라 자바의 객체 소멸자 Finalizer : 예측할 수 없고, 상황에 따라 위험할 수 있어 일반적으로 불필요, 그냥 쓰지 마세요.. 그냥 쓰지 말라고 Cleaner : Finalizer 보다는 덜 위험하지만, 여저힌 위험하고, 불 devaily.tis..
2022.03.31 -
[Effective Java] 아이템 8 : finalizer와 cleaner 사용을 피하라
자바의 객체 소멸자 Finalizer : 예측할 수 없고, 상황에 따라 위험할 수 있어 일반적으로 불필요, 그냥 쓰지 마세요.. 그냥 쓰지 말라고 Cleaner : Finalizer 보다는 덜 위험하지만, 여저힌 위험하고, 불필요하다. C++의 destructor와 Java의 finalizer & cleaner 파괴자는 특정 객체와 관련된 자원을 회수하는 보편적인 방법이고 자바의 소멸자들은 접근할 수 없게 된 객체를 회수하는 역할을 가비지 컬렉터가 담당한다. 자바에서는 try-with-resources와 try-finally를 사용해 해결한다. 왜 Finalizer와 Cleaner의 사용을 자제해야하나? Finalizer와 Cleaner는 즉시 수행된다는 보장이 전혀 없다. 위 두 가지로는 데때 실행되야..
2022.03.30 -
[Effective Java] 아이템 1 : 생성자 대신 정적 팩토리 메소드를 고려하라
아이템 1 : 생성자 대신 정적 팩토리 메서드를 고려하라 클래스의 인스턴스를 얻는 전통 수단은 public 생성자이다. 하지만, 꼭 알아둬야 하는 기법 -> static factory method public class item1 { private String name; // public 생성자 public item1(String name) { this.name = name; } // static factory method public static item1 myName(String name) { return new item1(name); } public static void main(String[] args) { item1 my = myName("haessae0"); // static factory m..
2022.03.01 -
[Effective Java] 이펙티브 자바를 읽기 시작..
읽기 시작하는 이유 탄탄하고 효율적이게 코드를 짜는 법을 배우기 위해 읽기 시작한다. 이 책의 주요 원칙 명료성과 단순성 또한, 컴포넌트는 정해진 도앚ㄱ이나 예측 가능한 동작만 수행해고, 가능한 작게 만들어야 한다. 코드는 재사용 되어야 한다. 컴퍼넌트 사이의 유존성은 최소로 유지되어야 한다. 오류는 가능한 빨리 잡혀야 한다. 자바 8용 언어 면세 자바가 지원하는 타입 (자료형) 인터페이스, 클래스, 배열, 기본 타입 총 네 가지 Annotation 인터페이스의 일종, Enum은 클래스의 일종 공부 방법 자바봄 님의 방식 인용 https://javabom.tistory.com/70 처음 보는 용어에 대한 설명 요구 글로만 적혀있는 기술에 대한 사용법 요구 예제 코드에 대한 설명 문단 문맥 이해 코드에 대..
2022.02.28