분류 전체보기 476

[Java] JVM의 메모리구조(가비지 컬렉션)/ 자바 메모리 구조

shs2810.tistory.com/5?category=670113 가비지 컬렉션(Garbage Collection)??? 자바 공부하면서, 앞에서도 메모리 구조 정리하면서 가비지, 가비지 이야기가 많은데,, 정확히 어떤 동작을 하는지, 어떤 것을 처리하는지 몰라서 찾아보았습니다. 1. 가비지 컬렉션 (Garbage Collec shs2810.tistory.com shs2810.tistory.com/4?category=670113 JVM 메모리 구조 JVM 메모리 구조는 어떤가... 1. JVM 메모리 구조 Method Area Heap Stack PC 레지스터 Native Method Stacks 1. Permanent Generation 2. New / Young Generation 3. Old Ge..

Java lang 2020.12.17

리스트와 배열의 차이

리스트와 배열의 차이 리스트에서 데이터를 삭제하면, 해당 데이터가 사라지면서 해당 데이터 뒤에 있던 데이터가 한칸 앞으로 전진하게 된다. 하지만 배열에서 요쇼를 삭제하면, 그냥 그 자리는 비어 있게 된다. (특정한 처리를 해주지 않는이상) 그러므로, 리스트는 데이터가 있는지 없는지를 체크하지 않아도 되는 장점이 있다. 하지만, 배열은 어딘가가 비어있을 수도 있으므로, 데이터가 있는지 없는지 확인해야 한다. 그만큼 리스트보다 더 많은 공간을 차지한다. 하지만 이게 오히려 장점이 될 수 있다. 요소의 자리 (즉 인덱스)값이 바뀌지 않으므로, 배열은 특정 값의 키 즉 인덱스를 유지할 수 있다. 하지만 리스트는 앞의 데이터가 삭제되면, 한칸씩 앞으로 자동으로 당기므로, 인덱스 값이 변한다. 그러므로, 배열에서만..

힙정렬 코드

자료구조와 알고리즘 입문 - 자바편에 힙정렬이 나왔다. 하노이의 탑도 이해가 잘안갔고, 특히 재귀적 호출이 너무 복잡했다. 그래서 일부는 직접 그림판에 그림을 그려서 영상으로 찍어서 내가 하는말을 들어가면서 이해했는데, 글쎄,,, 힙정렬이 좀 이해가 잘안간다. 이해가 안가는건 일단 외우라고 했으니... 일단은 외워야 겠지... 이게 안좋은 방법인건 알고 있다. 근데 일단은 머릿속에 집어넣고 그 다음에 이해해야겠다. package algorithm; public class heap { private void solve() { int[] array = {230,10,60,550,40,220,20}; heapSort(array); for(int v:array) { System.out.println(v); } ..

[Java] out of memory error 즉 OOME 에 대하여

stack 예외처리를 알아보던 중에 out of memory를 공부하게 되었는데 아주 잘 정리된 블로그를 발견했다. JVM까지 연결시켜서 설명해주는데 정말 내용이 좋다. 참고로 자료구조와 함께 배우는 알고리즘 입문(자바편)의 136페이지의 코드에서 OOME에 대해 나온다. 그 책도 읽어볼 만 하다. 간략하게 살펴보고 가겠다. OOME의 경우 특히나 대응을 하기가 쉽지 않다고 한다. 주로 개발이 대부분 완료되고 난 후에 사용자 테스트 쯤에 많이 발생하는 에러라고 한다. 그리고 주로 JVM Option 혹은 Dump 파일 분석을 통해 대응하게 된다고 한다. JVM Option Java의 장점은 JVM이 있는 곳이면 어디서든 동작하는 것인데 반면 디바이스 별로 동일한 성능은 보장되지 않는다고 한다. 그래서 O..

Java lang 2020.12.12
반응형