[Java] List.subList 사용 시 발생하는 Memory Leak과 GC 동작 원리
in Devlife
최근 동료와 코드 리뷰를 진행하던 중, List.subList의 내부 동작 방식에 대한 오해로 인해 자칫하면 심각한 메모리 누수(Memory Leak)를 유발할 뻔한 로직을 발견했다.
최근 동료와 코드 리뷰를 진행하던 중, List.subList의 내부 동작 방식에 대한 오해로 인해 자칫하면 심각한 메모리 누수(Memory Leak)를 유발할 뻔한 로직을 발견했다.
Java17 / SpringBoot 3.1.2 / Redis
Redis를 사용하다가 갑자기 분산락에 대해 공부하게 되었다. 관련해 궁금했던 점들을 정리한다.
Java17 / SpringBoot 3.1.2 / JUnit5 / Mockito 5.8.0
대량의 데이터를 처리하는 애플리케이션에서 쿼리 성능을 개선하는 것이 중요하다고들 한다. 최근 프로젝트에서는 페이지네이션을 적용하여 성능을 최적화하기로 했다. 전통적인 페이지네이션 방식 대신 “No Offset” 기법을 사용하여 데이터베이스 쿼리의 성능을 향상시키고자 했다.
진행 중인 프로젝트에서 LocalDate, LocalDateTime 객체를 JSON으로 직렬화하고 역직렬화할 때, 로케일에 맞춘 포맷을 적용해야 할 필요가 생겼다. Jackson 라이브러리와 Map을 활용하여 LocalDate, LocalDateTime의 포맷을 로케일에 따라 조정하는 커스텀 직렬화기와 역직렬화기를 구현해보았다.