SIMPOLOR
단순하고 색있게
Java 11 주요 특징 및 개선 사항: String 메서드, HTTP 클라이언트, ZGC 등
단순색
·
2024년 06월 07일
Java
자바 11(Java SE 11)은 2018년 9월에 릴리스되었으며, 자바 10 이후 6개월 만에 릴리스된 장기 지원(LTS) 버전입니다. 자바 11은 다양한 새로운 기능, API 개선 및 불필요한 기능의 제거를 통해 자바 플랫폼을 더욱 개선했습니다. ## 새로운 String 메서드 자바 11은 문자열 처리와 관련된 여러 가지 새로운 메서드를 도입했습니다. ``` String str = " Hello World "; System.out.println(str.strip()); // "Hello World" System.out.println(str.stripLeading()); // "Hello World " System.out.println(str.stripTrailing()); // " Hello World" System.out.println("".isBlank()); // true System.out.println("foo\nbar".lines().collect(Collectors.toList())); // ["foo", "bar"] System.out.println("repeat".repeat(3)); // "repeatrepeatrepeat" ``` ## HTTP Client (Standard) 자바 9와 10에서 인큐베이터 모듈로 제공되었던 새로운 HTTP 클라이언트 API가 표준 기능으로 도입되었습니다. 이는 비동기 및 동기 HTTP 요청을 모두 지원합니다. ``` HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://example.com")) .build(); HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString() ); System.out.println(response.body()); ``` ## Local-Variable Syntax for Lambda Parameters 람다 표현식의 매개변수에 `var` 키워드를 사용할 수 있게 되었습니다. ``` var list = List.of(1, 2, 3, 4, 5); list.forEach((var item) -> System.out.println(item)); ``` ## 파일 읽기 및 쓰기 `Files` 클래스에 몇 가지 편리한 메서드가 추가되었습니다. ``` Path path = Paths.get("file.txt"); String content = Files.readString(path); Files.writeString(path, "Hello, World", StandardOpenOption.APPEND); ``` ## 플랫폼별 패키징 툴의 제거 자바 11에서는 애플릿, Java Web Start 및 관련 기술들이 제거되었습니다. 따라서 이러한 기술들을 사용하는 애플리케이션은 더 이상 지원되지 않습니다. ## TLS 1.3 지원 자바 11은 최신 TLS(Transport Layer Security) 1.3 프로토콜을 지원합니다. 이를 통해 보안이 강화되었습니다. ## Z Garbage Collector (Experimental) 매우 짧은 일시 정지 시간을 목표로 하는 새로운 가비지 컬렉터인 ZGC가 도입되었습니다. ## Flight Recorder 자바 플라이트 레코더(Java Flight Recorder, JFR)가 오픈소스로 제공되며, JVM의 성능을 분석하는 데 유용합니다. ## Deprecate Pack200 Tools and API Pack200 도구와 API가 더 이상 사용되지 않으며, 이후 릴리스에서 제거될 예정입니다.
연관 포스트
Java 6 주요 특징 및 개선 사항: 성능 향상, 웹 서비스, 스크립팅 언어 지원 등
Java 7 주요 특징 및 개선 사항: 언어 개선, 새로운 IO API, 병렬 프로그래밍 등
Java 8 주요 특징 및 개선 사항: Lambda Expressions, Stream API, 날짜와 시간 API 등
Java 9 주요 특징 및 개선 사항: 모듈 시스템, JShell, Stream API 등
Java 10 주요 특징 및 개선 사항: Local Variable Type Inference, G1 GC 개선 등
Java 11 주요 특징 및 개선 사항: String 메서드, HTTP 클라이언트, ZGC 등
Java 12 주요 특징 및 개선 사항: Switch Expressions, Shenandoah GC 등
Java 13 주요 특징 및 개선 사항: 텍스트 블록, Switch Expressions, ZGC 등
Java 14 주요 특징 및 개선 사항: Pattern Matching, Records, Switch Expressions 등
Java 15 주요 특징 및 개선 사항: 텍스트 블록, Sealed Classes, ZGC 등
Java 16 주요 특징 및 개선 사항: Records, Pattern Matching, Sealed Classes 등
Java 17 주요 특징 및 개선 사항: Sealed Classes, Records, Pattern Matching 등
Java 18 주요 특징 및 개선 사항: Simple Web Server, UTF-8 기본 인코딩 등
Java 19 주요 특징 및 개선 사항: Pattern Matching, Virtual Threads, Foreign Function & Memory API 등
Java 20 주요 특징 및 개선 사항: Pattern Matching, Virtual Threads, Scoped Values 등
Java 21 주요 특징 및 개선 사항: Pattern Matching, Virtual Threads, Structured Concurrency 등