자바 8을 사용하면 자연어에 더 가깝게 간단한 방식으로 코드 구현 가능.
inventory.sort(comparing(Apple::getWeight)
//java 8 - 사과의 무게를 비교해서 목록에서 정렬
Collections.sort(inventory, new Comparator<Apple>){
public int compare(Apple a1, Apple a2){
return a1.getWeight().compareTo(a2.getWeight());
}
}
//이전 자바
자바는 병렬 실행 환경을 쉽게 관리하고 에러가 덜 발생하는 방향으로 진화하려 노력함. 자바 5에서는 스레드 풀, 병렬 실행 컬렉션 등 강력한 도구를 도입.
자바 9에서는 리액티브 프로그래밍이라는 병렬 실행 기법을 지원함.
자바 8은 간결한 코드, 멀티코어 프로세서의 쉬운 활용이라는 두 가지 요구사항을 기반으로 함.
자바 8은 데이터베이스 질의 언어에서 표현식을 처리하는 것처럼 병렬 연산을 지원하는 스트림이라는 새로운 API 지원.
즉, 스트림을 이용하면 에러를 자주 일으키며 멀티코어 CPU를 이용하는 것보다 비용이 훨씬 비싼 키워드 sysnchronized를 사용하지 않아도 됨.
다른 관점에선 메서드에 1)코드를 전달하는 간결 기법(메서드 참조와 람다)과 인터페이스의 2)디폴트 메서드가 존재할 수 있음을 알 수 있음
모던 자바 좋네요 감사합니다~ 그런데 새로운 글은 언제 올라오나요??