# API

JAVA API 정리

# 1. JAVA

# 자바 5

* 제네릭
* For 루프 개선
* 컨커런트 API
* 어노테이션
* EUNM
* vararg
* 오토박싱/언박싱

# 자바 6 (안정화버전)

* GI 가비지 콜렉션
* 데스크톱 API
* 자바 컴파일 API

# 자바 7

* FILE NIO 2.0
* 포크/조인 프레임워크
* 다이아몬드 연산자
* try-with-resource
* 예외처리

# 자바 8

* 람다 표현식
* 함수형 인터페이스
Predicate : test(), 두 개의 객체를 비교할 때 사용
Supplier : get(), generic 리턴값
Consumer : accept(), 리턴값이 없으므로 작업을 수행하고 결과를 받을 일이 없을 때 사용
Function : apply(), generic 타입 두개(입력타입, 리턴타입) 갖고 있음. 변환을 할 필요가 있을 때 사용

* Stream API
filter(Predicate < T > predicate) : 데이터를 조건으로 거를 때 사용
map(Function < T, R > mapper) : 데이터를 특정 데이터로 변환
forEach(Consumer <? super T> action) : for 루프를 수행하는 것처럼 각각의 항목을 꺼냄
reduce(BinaryOperator < T > accumulator) : 처음 두 요소를 가지고 연산한 결과를 가지고 그 다음 요소와 연산한다.

* 메서드 참조
* 날짜와 시간 API
java.time.ZoneDateTime / java.time.LocalDate
java.time.format.DateTimeFormatter

* 인터페이스 개선
* Optional
* CompletableFuture
* 인터페이스 Default Method

# 자바 9

* 자바 모듈화
* REPL 기능인 JShell
* 통합 JVM 로깅
* HTML5 자바 DOC
* try-with-resouce 개선
* 인터페이스 메서드 형식 추가
* 다이아몬드 연산자 개선
* 프로세스 API
* CompletableFutre 기능개선
* 반응형 스트림 API 추가

# 자바 10

* 로컬 변수 형식 추론
* GI GC개선

# 자바 11

* HTTP 클라이언트
* 콜렉션 객체를 배열로 변경하는 기능
* var 키워드 지원 확대
* String 클래스 기능 추가
Last Updated: 3/2/2022, 12:11:27 AM