Java/Version
Java 11
창욱씨
2022. 1. 6. 00:43
반응형
🆕 주요 새 기능
1. 새로운 String 메서드
// isBlank() - 공백 여부 확인
" ".isBlank(); // true
"hello".isBlank(); // false
// strip() - 유니코드 공백 제거 (trim() 개선)
" hello ".strip(); // "hello"
" hello ".stripLeading(); // "hello "
" hello ".stripTrailing(); // " hello"
// repeat() - 문자열 반복
"ab".repeat(3); // "ababab"
// lines() - 줄 단위 Stream 반환
"a\nb\nc".lines().collect(Collectors.toList()); // ["a", "b", "c"]
2. var 키워드 람다 사용 가능 (Java 10에서 도입, 11에서 람다 확장)
// 람다 파라미터에 var 사용
var list = List.of(1, 2, 3);
list.stream()
.map((@NotNull var x) -> x * 2)
.forEach(System.out::println);
3. HTTP Client API (정식 표준화)
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());
4. Files 유틸리티 메서드 추가
// 파일 읽기/쓰기 간소화
Path path = Files.writeString(Path.of("test.txt"), "Hello Java 11");
String content = Files.readString(path);
5. Optional 개선
Optional<String> opt = Optional.of("hello");
opt.isEmpty(); // false (isPresent() 반대)
🗑️ 제거된 기능
| 제거 항목 | 설명 |
|---|---|
Java EE 모듈 |
javax.xml, java.corba 등 제거 |
CORBA |
레거시 분산 객체 기술 제거 |
JavaFX |
JDK에서 분리 → 별도 설치 필요 |
Applet API |
브라우저 플러그인 지원 종료 |
⚙️ JVM / 성능 개선
- ZGC(Z Garbage Collector) 실험적 도입 — 낮은 지연 시간 GC
- Epsilon GC 도입 — GC 없이 메모리 할당만 수행 (테스트용)
- Flight Recorder 오픈소스화 — JVM 프로파일링 도구
java명령으로 단일 소스 파일 직접 실행 가능java HelloWorld.java
반응형