Java 4

해시(Hash) 기본 개념과 구조

1. 해시(Hash) 정의 - 배열은 검색 속도가 빠르나 데이터 삽입/삭제 시 속도가 느립니다. - 링크드 리스트는 삽입 삭제시 인근 노드의 참조 값만 수정해서 속도가 빠르나 순회 검색만 가능하여 데이터가 많아질수록 속도가 느려집니다. - 이러한 한계를 극복하기 위해 제시된 방법이 해시(Hash)입니다. 2. 특징 - 내부적으로 배열을 사용하여 데이터를 저장하여 검색 속도가 빠릅니다. - 데이터의 삽입/삭제 시 해시 알고리즘을 이용하여 데이터와 연관된 고유한 숫자를 만들어 인덱스로 사용합니다. - 해시가 내부적으로 사용하는 배열을 Hash Table 이라고 하며 크기에 따라서 성능 차이가 납니다. 3. 해시 메서드(Hash Method) - 해시는 Hash Table을 사용하여 데이터를 저장합니다. - ..

개발 2020.08.13

JVM 메모리 구조 및 JVM 튜닝

jvm 튜닝에 앞서 jvm 메모리 구조에 대해 먼저 알아보겠습니다. 1. Method Area (메서드 영역) - 클래스 멤버 변수의 이름, 데이터 타입, 접근 제어자 정보, 필드 정보, 메서드의 이름, 리턴 타입, 파라미터 등의 변수 등이 생성되는 영역 2. Heap Area(힙 영역) - new 키워드로 생성된 객체와 배열이 생성되는 영역 - 메서드 영역에 로드된 클래스만 생성이 가능하고 Garbage Collector가 참조되지 않는 메모리를 확인하고 제거하는 영역 3. Stack Area(스택 영역) - 지역 변수, 파라미터, 리턴 값, 연산에 사용되는 임시 값 등이 생성되는 영역 4. PC Register (PC 레지스터) - Thread가 생성될 때마다 생성되는 영역으로 Program Coun..

개발 2020.08.13