일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- update
- current_date
- npm
- Effective Java
- java
- Spring Batch
- regex
- Effective Java 3/e
- log4j2
- REACT
- Chunk
- Express
- REACTJS
- JavaScript
- spring
- mysql 5.5
- Regular expression
- log_bin
- 퀵소트
- git
- 정규표현식
- nodejs
- upgrade
- expire_logs_days
- Webpack
- MySQL
- spring cloud
- Node
- migration
- eslint
- Today
- Total
목록Effective Java 3/e (3)
내 세상
toString의 일반규약에 따라 '간결하면서 사람이 읽기 쉬운 형태의 유익한 정보'를 반환해야 한다. 또한, toString의 규약은 "모든 하위 클래스에서 이 메서드를 재정의하라"고 한다. toString을 잘 구현한 클래스는 사용하기에 훨씬 즐겁고, 그 클래스를 사용한 시스템은 디버깅하기 쉽다. toString메서드는 객체를 println, printf, 문자열 연결 연산자(+), assert 구문에 넘길 때, 혹은 디버거가 객체를 출력할 때 자동으로 호출된다. 즉, 직접 호출하지 않더라도 다른 어딘가에서 쓰일 거란 의미이다. format을 한번 명시하면 평생 그 format에 얽매이게 된다. 만약 향후 release에서 format을 바꾼다면 이를 사용하던 코드들과 데이터들은 엉망이 될 것이다. ..
Java Library에는 close 메서드를 호출해 직접 닫아줘야 하는 자원이 많다. ex) InputStream, OutputStream, java.sql.Connection 등 자원 닫기(close 메서드)는 client가 놓치기 쉬워서 예측할 수 없는 성능 문제로 이어지기도 함. 이런 자원 중 상당수가 안전망으로 finalizer를 활용하고는 있지만 finalizer는 그리 믿을만 하지 못하다.(Item 8) 전통적으로 자원이 제대로 닫힘을 보장하는 수단으로 try-finally가 쓰였다. static String firstLineOfFile(String path) throws IOException { BufferedReader br = new BufferedReader(new FileReader..