Contents
see List작성일 2014. 09. 30.
일반적으로 웹개발을 할때
프레임워크를 사용 할 것이다.
이 프레임워크가 일반적인 하드코딩 보다 성능에서 좋은 측면 중 대표적인 예를 꼽자면
싱글톤 패턴일 것이다.
물론 한두명이 사용하는 작은 모듈이야 메모리관리가 필요없지만 100명이상이 돌아가는 서버나 사용자가 많아 로드벨런싱되어있는 서버같은 경우는
메모리관리는 필수다 .
특히 자주사용하는 controller 나 service dao 같은 경우는 물론이고
db connection pool 은 민감하게 관리 되어야 할 부분이다 .
물론 설계와 db가 설치되어있는 서버의 성능이 가장 중요하겠지만 그것에 못지않게
중요한것이 커넥션을 맺고 끊는것이다.
필자가 개발했던 서버의 경우 connection 튜닝을 통해 응답시간이 2분이 넘어가는 모듈을
0.2 초 내외로 개선한 적이 있다.
디비 뿐만 아니라 서버에서도 싱글톤 패턴은 중요하다.
그리고 싱글톤 패턴 못지 않게 객체생성에도 유의를 해야한다 .
반복문이나 자주호출되는 함수에서의 반복적인 인스턴스생성은 시스템의 유휴시간을
감소시켜 가비지컬렉터가 컬렉션을 수행할 틈을 주지 않아 결국 out o memory 라는
예외를 보게끔 할 수 도있다.
재활용 할 수 있는 객체는 재활용하고 불필요한 객체의 생성은
최대한 자제 하는 것이좋다 .
예로 스프링에서 ModelMap 은 model 의 역할 도 하지만 Map을 구현한 구현체기 때문에
batis 의 parameter 로도 활용 할 수 있다.
그리고 가비지 컬렉터는 일정한 알고리즘에 의해 청소를 하는데
대표적인 상황이 사용자 입력 등 시스템 유휴시간이다.
고로
큰 시스템을 설계한다면 메모리 누수와함께 관리에 대한 설계도 필요하다.
java
| No | 작성일 | Title |
|---|---|---|
| 3356 | 2026. 08. 14. | Java record와 sealed interface로 안전한 API 응답 모델 만들기 |
| 3324 | 2026. 08. 05. | Java 가상 스레드 실전 적용 가이드: I/O 중심 API의 동시성 구조 바꾸기 |
| 3292 | 2026. 07. 28. | Java 메모리 사용량이 계속 늘어날 때: Heap Dump와 JFR로 누수 원인 찾기 |
| 3261 | 2026. 07. 20. | Java record로 API DTO를 단순하게 만드는 방법: 검증·변환·직렬화 실전 적용 |
| 3235 | 2026. 07. 12. | Java API 동시 호출 폭주 대응: Thread Pool, timeout, 장애 격리로 안정성 올리기 |
| 3178 | 2026. 07. 03. | Java 메모리 누수 진단 가이드: jcmd와 JFR로 원인 좁히기 |
| 3130 | 2026. 06. 25. | Java 가상 스레드 적용 전 점검: 블로킹 I/O와 동시성 제한 운영 가이드 |
| 3074 | 2026. 06. 17. | Java 스레드 작업 취소 설계: interrupt, Future, ExecutorService 종료를 제대로 연결하기 |
| 2985 | 2026. 06. 09. | Java 컨테이너 메모리 운영 가이드: 힙, 직접 메모리, GC 로그를 함께 점검하기 |
| 2928 | 2026. 06. 01. | Java Virtual Threads 운영 전환 가이드: 블로킹 API, 커넥션 풀, 관측 지표 점검법 |