Java LTS 25 변경사항 요약
·
Code/Java
1. 서론사이드 프로젝트를 새로 진행하며 Java / Spring 버전에 대한 스택을 정하려고 했는데요.최근 2025년 9월에 출시한 Java 25에 대한 내용을 정리 해봤습니다.25버전은 LTS 버전으로 출시되었으며, 스탠다드 라이브러리, API와 런타임에 대한 변경점이 있었습니다.2. JEP 506 - Scoped Values / ThreadLocal 대체기존에 ThreadLocal은 누수와 복잡한 라이프사이클 관리 문제가 있었다고 합니다. Java 25의 Scoped Values는 읽기 전용 컨텍스트 값을 블록 범위로 안전하게 전달하는 방식이라, 비동기·가상 스레드에서도 깔끔하게 동작한다고 하는데요. 아래의 예를 살펴보겠습니다.import java.lang.scoped.ScopedValue;publ..
Stream API를 무조건 쓰는 게 정답일까? (함수형 프로그래밍 with Java)
·
Code/Java
이 책을 읽기 전까지 저는 단순히 for 문을 Stream으로 전환하는 것이 '현대의 자바 같은 코드'라고 착각 했었습니다. 하지만 다 읽고서 기준을 스스로 세우게 되었습니다."람다는 고차 함수를 위한 도구이며, 이를 데이터 처리에 최적화한 것이 Stream API이다."서비스 로직 한복판에 람다식이 복잡하게 구성되어 있다면, 작성한 본인조차 일주일 뒤엔 해석할 수 없는 코드가 됩니다. 특히 사이드 이펙트가 필연적인 비즈니스 로직을 억지로 스트림 안에 구겨 넣는 건 코드를 간결하게 만드는 게 아니라 더욱 스파게티 코드로 만드는 길이었습니다.책에서 강조하는 함수형 프로그래밍의 핵심은 결국 '데이터 변환'입니다.Good: List 에서 List로 이어지는 명확한 변환 파이프라인Bad: 스트림 내부에서 외부..