https://medium.com/@kiarash.shamaii/optimizing-java-app-performance-by-understanding-jvm-architechture-7bd32eeac520
자바 애플리케이션 성능 최적화 전략
1. 힙 메모리 관리
- 메모리 누수 방지: Eclipse MAT, JProfiler 같은 도구로 메모리 사용 분석.
- 객체 생명주기 최적화:
try-with-resources
로 자원 자동 해제.
- 가비지 컬렉션(GC) 튜닝: G1GC 사용 및 GC 파라미터 조정.
java -Xms512m -Xmx2g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 MyApplication.jar
2. 스레드 최적화
- 불필요한 잠금 제거: 동기화 최소화
- 스레드 풀 사용: Executors.newFixedThreadPool()로 스레드 관리
- 비동기 처리: 블로킹 작업 회피
ExecutorService threadPool = Executors.newFixedThreadPool(8);
threadPool.submit(() -> { });
threadPool.shutdown();
3. 지속적인 모니터링
- CPU 사용률, 메모리, 스레드 모니터링: JFR, VisualVM 도구 사용.