Web/JAVA
[Java 17] 알아보기
태애니
2023. 4. 22. 17:43
728x90
Java 8이 대규모 release 였다고 한다
- Lambda,
- stream
- interface default method
- Optional
- new Date and Time API(LocalDateTime, …)
등의 기능이 추가되었다.
특히 요즘 공부하고 있던 stream이랑
default meethod 사용하는 것,
repositiory에서 자주 쓰는 Optional 과
new Date and Time API
Java11 에서는
- Oracle JDK와 OpenJDK 통합
- Oracle JDK가 구독형 유료 모델로 전환
- 서드파티 JDK 로의 이전 필요
- lambda 지역변수 사용법 변경
- 기타 추가
Java 17은 Java 11 이후의 새로운 Java LTS(장기 지원) 릴리스
- Pattern Matching for switch (Preview)
- Sealed Classes (Finalized)
- Foreign Function & Memory API (Incubator)
- Deprecating the Security Manager
Pattern Matching for switch (Preview)
이제 객체를 전달하여 기능을 전환하고 특정 유형을 확인할 수 있다.
public String test(Object obj) {
return switch(obj) {
case Integer i -> *"An integer"*;
case String s -> *"A string"*;
case Cat c -> *"A Cat"*;
default -> *"I don't know what it is"*;
};
}
Sealed Classes (Finalized)
Java 15에서 preview 제공되었던 기능 완료
Foreign Function & Memory API (Incubator)
Java Native Interface(JNI)를 대체한다. 기본 함수를 호출하고 JVM 외부의 메모리에 액세스할 수 있다. 지금은 C가 C++, 포트란과 같은 추가 언어 지원 계획을 가지고 있다고 생각
Deprecating the Security Manager
자바 1.0 이후로 보안 관리자가 존재해 왔었지만 현재는 더 이상 사용되지 않으며 향후 버전에서는 제거될 예정
728x90