반응형
자바에서 리스트를 담을 때 주로 List를 사용하는데 리스트의 원소를 잘라서 사용해야 할 경우에 subList 함수를 사용한다.
이때 subList를 사용하여 자른 원소를 사용하다 보면 메모리 누수가 발생할 수 있다.
List<Integer> list = Lists.newArrayList(1,2,3,4,5);
list.subList(0, 2);
ArrayList의 List는 자신이 생성된 부모(parent) 객체 정보를 가지고 있기 때문에 불필요한 메모리를 점유하기 때문이다.
이를 방지 하기 위해서는 Lists.newArrayList 안에 subList한 배열을 넣어서 따로 리스트를 생성하면 된다.
List<Integer> list = Lists.newArrayList(1,2,3,4,5);
List<Integer> newList = Lists.newArrayList(list.subList(0, 2));
반응형
'개발' 카테고리의 다른 글
안드로이드 usb디버깅 크롬으로 확인하기 (0) | 2020.11.29 |
---|---|
스프링 properties profile 적용하기 (0) | 2020.11.29 |
인텔리제이 .gitignore 사용하기 (0) | 2020.11.29 |
js/css 파일 캐시 방지 처리 (0) | 2020.11.29 |
스프링 중복 로그인 방지하기 (0) | 2020.11.29 |