반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 코테공부
- JPA 공부
- nestjs스터디
- nestjs공부
- 기술면접공부
- nestjs
- Flutter
- 스프링
- 스프링공부
- K8S
- 플러터 공부
- DDD
- JPA공부
- JPA
- querydsl
- 기술공부
- 코테준비
- 자바공부
- 스프링부트공부
- Kafka
- 스프링부트
- 알고리즘공부
- JPA예제
- JPA스터디
- 스프링 공부
- 프로그래머스
- 카프카
- 플러터 개발
- Axon framework
- 자료구조공부
Archives
- Today
- Total
DevBoi
[Java] List 메모리관리 본문
반응형
갑자기 사이드 프로젝트하다가 생각나서 정리했다.
ArrayList 를 1천 ~ 2천건 , List<Map<? extends UserDto>> 이런식으로 For 처리하는 부분이 있었다.
물론, 보통적인 케이스에서는 문제가 되지는 않는다.
근데.. 걱정되는건 이용자수가 급증 하면서 OOM으로 Java process가 kill되면?
사람이 몰리면 꺼지는 서버가 된다...그래서...
변수를 비워주자, 즉 메모리 관리를 해주자는 것이다.
ArrayList나 List의 메모리 비워주는 법, 혼동되는 의미로 객체를 초기화해줄수있는 방법은 크게 2가지가있다.
1. null로 명시
2. clear() 펑션 사용
1번의 경우, 확실히 해당 메모리 점유를 해제하면서 비워준다.
2번의 경우 메모리에는 남아있지만, 해당 객체가 다른 곳의, 즉 빈곳의 주소를 보게 된다.
2번의 의미로는 대량의 데이터가 메모리에는 남아있으나, 해당 객체에서 사용하지 않는 것으로 처리되며
물론 한 메소드가 끝나면, unreachable object가 되면서 pop, 메모리 해제가 되겠지만
메소드가 길면, OOM을 일으킬수도있다.
따라서, 1번으로 진행, 메모리 효율 확보를 하였다.
반응형
'Language > [Java]' 카테고리의 다른 글
[DesignPattern] 생성패턴 (0) | 2022.12.12 |
---|---|
[DesignPattern] 1. Index_StudyList (0) | 2022.12.02 |
[Java] Functional api (Jdk8 Version up) (0) | 2022.05.15 |
[Effective Java] 3. 싱글톤 패턴 (0) | 2022.05.11 |
[Effective Java] 2.점층적 생성자 패턴 -> 빌더 패턴 (0) | 2022.05.11 |