
자바는 3년정도의 텀으로 LTS(Long Term Support) 릴리스가 제공된다.
LTS란 Long Term Support의 약자로 장기 지원 버전을 의미한다. 자바의 LTS 버전은 특정 기간 동안 안정적인 지원과 업데이트를 제공받을 수 있다. 일반적으로 3년마다 출시되며, 출시 후 5년동안 기술 지원이 제공된다.
장기적인 지원
Long Term Support란 이름과 같이 장기적으로 보안 업데이트와 버그 수정을 지원해준다
안정성
광범위하게 테스트되고 안정화된 후 릴리스되므로 높은 신뢰성을 갖고 있다.
기업 환경에 적합
많은 기업에서 규제 요구 사항을 충족하기 위해 장기적으로 지원되는 소프트웨어를 사용해야 한다
커뮤니티 및 생태계 지원
LTS 버전은 많은 개발자와 기업에서 사용되므로 강력한 커뮤니티와 생태계를 갖고있다.
또한, 주요 라이브러리와 프레임 워크가 LTS 버전을 우선적으로 지원하기 때문에 호환성이 높다.
Java 8의 변경점으로는 크게 람다 표현식과 함수형 프로그래밍 지원이 있다. 이로 인해 코드의 가독성이 높아지고 간결한 코드를 작성할 수 있게 되었다.
Arrays.sort(strArray, (String s1, String s2) -> s2.length() - s1.length());
default public Stream<T> stream() {
return StreamSupport.stream(spliterator(), false);
}
List<String> filtered = list.stream()
.filter(s -> s.startsWith("a"))
.collect(Collectors.toList());
Optional<String> optional = Optional.of("Hello");
optional.ifPresent(System.out::println);
var list = new ArrayList<String>();
list.add("Hello, Java 11");
java.net.http 패키지에 새로운 HTTP 클라이언트를 도입하여 HTTP/2 및 WebSocket을 지원HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://example.com"))
.build();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
System.out.println(response.body())
switch (obj) {
case Integer i -> System.out.println("Integer: " + i);
case String s -> System.out.println("String: " + s);
default -> System.out.println("Unknown type");
}
public abstract sealed class Shape permits Circle, Square {}
public record Point(int x, int y) {}
Thread.startVirtualThread(() -> {
System.out.println("Hello from a virtual thread");
});