stringbuilder 2

Java 성능 체크리스트: String 연결부터 메모리 누수 패턴까지

Java 17 기준으로 실무에서 자주 놓치는 성능 포인트(String 연결, 컬렉션 초기 용량, 오토박싱, 메모리 누수 패턴)를 체크리스트와 코드로 정리합니다.도입 (문제 상황)로컬에서는 빨랐는데 운영에서만 유독 느려지는 코드가 있습니다. 대부분 “알고 보면 사소한 습관”에서 시작해요. 이번 글에서는 Java에서 특히 자주 밟는 성능 함정 4가지를 체크리스트로 정리해 보겠습니다.핵심 개념: Java 성능 체크리스트(자주 터지는 4가지)성능 최적화는 거창한 알고리즘 교체보다, “불필요한 객체 생성/복사”를 줄이는 쪽이 먼저인 경우가 많습니다. 아래 4가지는 코드 리뷰에서 꾸준히 등장하고, 개선 효과도 즉각적인 편이라 체크리스트로 가져가시기 좋아요.1) String 연결: +가 항상 느린 건 아니지만 “반복..

JAVA 2026.03.01

Java String 완전 정복: 불변성, StringBuilder, 비교 함정, Text Block까지

Java 17 기준으로 String의 불변성 이유와 성능 포인트, ==/equals 비교 함정, StringBuilder 사용 기준, Text Block 활용법을 실무 관점에서 정리합니다. 로그 한 줄 만들려고 문자열을 +로 계속 붙였는데, 트래픽이 오르자 CPU가 튀고 GC가 바빠지는 경험을 하실 때가 있습니다. 또 어떤 환경에서는 "a" == new String("a")가 false라서 디버깅이 길어지기도 해요. Java의 String은 “그냥 문자”가 아니라, 성능과 버그를 동시에 좌우하는 핵심 타입입니다.핵심 개념 (Java String 불변성이 중요한 이유)String은 왜 불변(Immutable)일까요?Java의 String은 한 번 만들어지면 내용이 바뀌지 않습니다. 이 설계 덕분에 다음 이..

JAVA 2026.02.17