Summary
version | 특징 | 발표일 |
Java 8 | - 기본 GC -> Parallel GC - Lambda Expression - Optional - Stream API - Repeating Annotation - 새로운 날짜와 시간 API - Interface Default Method |
2014. 03. 18 |
Java 9 | - Java를 인터프리터 언어 쉘 처럼 사용할 수 있는 JShell 추가 - private interface method - immutable collection - 64비트 버전만 출시 - .properties 파일에 UTF-8 지원 |
2017. 09. 21 |
Java 10 | - var 키워드를 이용한 지역 변수 타입 추론 - 병렬 처리 GC - 개별 쓰레드로 분리된 Stop-the-world - 루트 CA 목록 |
2018. 03. 20 |
Java 11 | - 기본 GC -> G1GC - Lambda 파라미터에 대한 지역 변수 문법 변경 - 엡실론 GC - HTTP 클라이언트 표준화(HttpClient 추가) |
2018. 09. 25 |
... | - switch문 확장 - switch문 개선을 위한 yield 예약어 추가 - instanceof 패턴 매칭 - record 선언 기능 추가 - EdDSA 암호화 알고리즘 추가 - 패턴 매칭 - 스케일링 가능한 낮은 지연의 GC 추가(ZGC) - 외부 메모리 접근 API (Incubating) - 클래스 봉인 - 다중 텍스트 블록 |
2019 - 2020 |
Java 16 | 2021. 03. 16 |
Java 8
오라클이 썬을 인수한 후 첫번째 버전
Lambda Expression
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> strList = List.of("aaa", "bbb");
strList.forEach(str -> { // lambda expression
System.out.println(str);
});
}
}
aaa
bbb
Optional
public class Main {
public static void main(String[] args) {
String str = null;
String result = Optional.ofNullable(str).orElse("str is null");
System.out.println(result);
}
}
str is null
Stream
public class Main {
public static void main(String[] args) {
List<String> strList = List.of("aaa", "bbbb", "ccccc");
List<Integer> result = strList.stream().map(str -> str.length()).collect(Collectors.toList());
result.forEach(r -> System.out.println(r));
}
}
3
4
5
이 외에도 아래와 같은 특성 추가
- repeating annotation
- 새로운 날짜와 시간 API (LocalDateTime, ...)
- interface default method
참고 링크
- kudl.tistory.com/entry/JAVA-%EB%B2%84%EC%A0%84%EB%B3%84-%ED%8A%B9%EC%A7%95
- https://i3utterfly.tistory.com/entry/JAVA-버전별-정리
'공부이야기 > Java' 카테고리의 다른 글
[Java] GC의 종류 (Garbage Collector) (0) | 2021.05.10 |
---|---|
[Java] 자바는 Call by value? Call by reference? (0) | 2021.04.29 |
[Java] static ? final ? static final ? (0) | 2021.04.29 |
[Java] 객체 지향 프로그래밍 (OOP: Object-Oriented Programming) (0) | 2021.04.29 |
[Java] JVM이란? 그리고 Garbage Collector (0) | 2021.04.28 |
댓글