2호03 / 05

Java 27 정식 출시 — G1이 모든 환경의 기본 GC가 된다

원문 OpenJDK 공지 ↗

Java 27이 9월 15일 정식 출시됐습니다. 8월 20일 릴리스 후보(빌드 35)가 나온 뒤 P1 버그가 보고되지 않아 그대로 GA가 됐습니다. 다운로드는 jdk.java.net/27 입니다.

들어간 것

JEP 내용 상태
523 G1을 모든 환경의 기본 GC로 최종
534 컴팩트 객체 헤더를 기본으로 최종
527 TLS 1.3에 양자내성 하이브리드 키 교환 최종
536 JFR 인프로세스 데이터 삭제 최종
531 Lazy Constants 3차 프리뷰
532 패턴·instanceof·switch의 원시 타입 5차 프리뷰
533 구조화된 동시성 7차 프리뷰
538 암호 객체 PEM 인코딩 3차 프리뷰
537 Vector API 12차 인큐베이터

운영에 바로 영향이 있는 둘

G1이 어디서나 기본이 됩니다. 지금까지는 CPU가 적거나 메모리가 작은 환경에서 Serial GC가 자동 선택됐습니다. 컨테이너에 CPU 1~2개를 주고 돌리던 서비스라면 Java 27부터 GC가 바뀝니다. 명시적으로 -XX:+UseSerialGC를 주면 그대로 유지됩니다.

컴팩트 객체 헤더가 기본이 됩니다. 객체마다 붙던 헤더가 12바이트에서 8바이트로 줄어 작은 객체가 많은 힙에서 메모리가 눈에 띄게 줄 수 있습니다. 이 역시 아무 설정 없이 적용됩니다.

글에 없는 것

공지에는 제거·폐기된 기능 목록과 LTS 여부가 적혀 있지 않습니다. 관례대로라면 Java 27은 비-LTS이고 다음 LTS는 Java 29입니다. 성능 수치도 공지에는 없습니다.

실무에서 할 일

LTS만 따라가는 팀은 건너뛰어도 됩니다. 다만 두 기본값 변경은 다음 LTS에도 그대로 들어올 것이라, 미리 스테이징에서 GC 로그와 힙 사용량을 한 번 비교해 두면 나중에 놀라지 않습니다. 구조화된 동시성이 7차 프리뷰라는 건 아직 API가 흔들린다는 뜻이라 프로덕션 코드에 쓰기엔 이릅니다.

  1. 01Shopify가 React Native를 버리고 Swift·Kotlin으로 돌아간다
  2. 02Tailwind CSS가 Shopify에 인수됐다 — 라이선스는 MIT 그대로
  3. 03Java 27 정식 출시 — G1이 모든 환경의 기본 GC가 된다지금 읽는 글
  4. 04NVIDIA가 Rust로 GPU 커널을 쓰는 공식 경로를 열었다 — 두 갈래, 둘 다 알파
  5. 05Android 17 QPR1, AOSP 없이 새 API를 넣었다 — Honeycomb 이후 처음

2026년 9월 15일에 올라온 글

그날 대시보드 →
  1. ·RubyGems 메인테이너: "그 봇들은 캐싱 취약점을 알고 있었다"
  2. ·Ubuntu 26.10, cp·mv·rm까지 Rust coreutils로 — 전환 완료

댓글

불러오는 중…