표준 라이브러리를 사용하라
- 검증되었다.
- 라이브러리 작성자는 훨씬 경험이 많고 전문적이다.
- 있는거 구현하느라 시간 허비 말고 기능 개발에 집중
- 성능이 지속적으로 개선, 기능이 추가된다.
- 우리가 작성한 코드가, 많은 사람들에게 낯익은 코드가 된다.
라이브러리가 너무 방대해서 뭐가 있는지 잘 모르겠어요
구현을 안하고 라이브러리를 쓰려면 일단 알아야 하는데, 자바 라이브러리는 너무 방대해서 잘 모른다.
그러나 자바 프로그래머라면 적어도 java.lang, java.util, java.io 하위 패키지들에 익숙해져야 한다.
+ 특별한 나만의 기능이 아니면 있을 가능성이 높고, 있는지 잘 모르겠다면 찾아보라.
이펙티브 자바에서는 아래 라이브러리들 또한 직접 추천했다.
─ 컬렉션 프레임워크
─ 스트림 라이브러리
─ java.util.concurrent의 동시성 기능
: 멀티스레드 프로그래밍 작업을 단순화해주는 고수준의 편의 기능 제공
: 개발자가 자신만의 고수준 개념을 직접 구현할 수 있도록 도와주는 저수준 요소들을 제공
메이저 릴리스마다 주목할만한 기능이 라이브러리에 추가된다.
자바는 메이저 릴리스마다 새로운 기능을 설명하는 웹페이지를 제공한다. 읽어볼 만 하다.
예를 들면 자바 9부터는 지정한 URL의 내용을 가져오는 기능을 InputStream 클래스의 transferTo()로 제공했다. 이전에는 구현이 힘든 기능이었으나 자바 9에서 추가되었다.
*참고: 리눅스의 curl 명령어(: Client Url)와 비슷하다. curl은 클라이언트에서 url을 사용해서 서버와 데이터를 송수신하는 명령어다.
public static void main(String[] args) throws IOException{
try(InputStream in = new URL(args[0]).openStream()){
in.transferTo(System.out);
}
}
반응형
'JAVA > Effective Java' 카테고리의 다른 글
[이펙티브 자바] 박싱된 기본 타입보다는 기본 타입을 사용하라 ─ 9장:일반적인 프로그래밍 원칙:Item61 (1) | 2023.10.20 |
---|---|
[이펙티브 자바] 정확한 답이 필요하다면 float와 double은 피하라 ─ 9장:일반적인 프로그래밍 원칙:Item60 (0) | 2023.10.20 |
[이펙티브 자바] 전통적인 for문보다는 for-each문을 사용하라 ─ 9장:일반적인 프로그래밍 원칙:Item58 (1) | 2023.10.19 |
[이펙티브 자바] 지역변수의 범위를 최소화하라 ─ 9장:일반적인 프로그래밍 원칙:Item57 (0) | 2023.10.19 |
[이펙티브 자바] 옵셔널 반환은 신중히 하라 ─ 8장:메서드:Item55 (1) | 2023.10.18 |