자바 역사를 통틀어 가장 큰 변화가 자바 8에서 일어났다.자바 8은 간결한 코드, 멀티코어 프로세서의 쉬운 활용이라는 두 가지 요구사항을 기반으로 한다.스트림 API메서드에 코드를 전달하는 기법인터페이스의 디폴트 메서드자바 8은 데이터베이스 질의 언어에서 표현식을 처리
동작 파라미터화(behavior parameterization)을 이용하면 자주 바뀌는 요구사항에 효과적으로 대응할 수 있다. 동작 파라미터란 아직은 어떻게 실행할 것인지 결정하지 않은 코드 블록을 의미힌다. 이 코드 블록은 나중에 프로그램에서 호출하며 즉, 실행은 나
동작 파라미터화를 이용해 변화하는 요구사항에 효과적으로 대응하는 코드를 구현할 수 있고 익명 클래스로 그에 맞는 다양한 동작을 구현할 수 있지만 코드가 깔끔하지 않았다. 자바 8의 람다 표현식은 익명 클래스처럼 이름이 없는 함수면서 메서드를 인수로 전달할 수 있다.람다
자바는 대부분의 비즈니스 로직에 반복자, 누적자 등을 이용하여 속성을 이용하여 어떻게 필터링할 것인지 구현한다. 하지만 데이터베이스에서는 구현할 필요없이 선언형으로 이와 같은 연산을 표현할 수 있다. SQL에서는 질의를 어떻게 구현해야 할지 명시할 필요가 없으며 구현은
데이터를 어떻게 처리할지는 스트림 API가 관리하므로 편리하게 데이터 관련 작업을 할 수 있다. 따라서 스트림 API 내부적으로 다양한 최적화가 이루어질 수 있다. 스트림 API는 내부 반복 뿐 아니라 코드를 병렬로 실행할지 여부도 결정할 수 있다. 이러한 일은 순차적