[기술면접] 4. JVM에서 사용할 수 있는 메모리 저장소는 어떤 게 있나요? [What are Memory storages available with JVM?]
·
◎ Java/Interview👨🏻‍🏫
1. 자바 언어의 장점은 무엇인가요? 2. JVM(Java Virtual Machine)이 무엇인가요? 3. JIT 컴파일러란 무엇인가요? 4. JVM에서 사용할 수 있는 메모리 저장소는 어떤 게 있나요? 5. JVM, JRE, JDK의 차이점은 무엇인가요? 6. 스트링 풀(String Pool)이란 무엇인가요? 7. 예외 처리란 무엇인가요? 8. 컬렉션 프레임워크(Collection Framework)가 무엇인가요? 4. JVM에서 사용할 수 있는 메모리 저장소는 어떤 게 있나요? JVM은 아래와 같이 몇 가지 메모리 저장소로 구성됩니다. 클래스(메소드) 영역(Class(Method) Area): 런타임 상수 풀, 필드, 메소드 데이터 등 모든 클래스의 클래스 수준 데이터와 메소드에 대한 코드가 저장됩..
[JAVA] 변수의 메모리 할당 시점과 삭제 시점 [메모리 할당 시점, 삭제 시점, 블록 내에서의 메모리 재사용]
·
◎ Java/Java☕
- 변수의 메모리 할당 시점과 삭제 시점 1. 메모리 할당 시점 변수가 선언되면 해당 변수에 대한 메모리 공간이 할당되며, 이 때 변수의 타입에 따라 할당되는 메모리의 크기가 결정된다. 변수가 선언된 블록에서만 사용할 수 있으며 해당 블록이 실행될 때 메모리에 할당된다. 2. 삭제 시점 변수의 생명 주기는 해당 변수가 선언된 블록의 실행이 끝날 때까지이며, 블록이 실행되는 동안 변수는 유효하다. 블록이 실행을 마치면, 해당 블록에서 선언된 모든 변수들은 메모리에서 삭제된다. 객체가 변수일 경우, 해당 객체에 대한 참조 카운트가 0이 되면 가비지 컬렉터(Garbage Collector)가 메모리에서 삭제한다. 3. 블록 내에서의 메모리 재사용 Java는 스택(Stack)과 힙(Heap) 영역으로 메모리를 ..
[study] Java 메모리 영역 구조 [메서드 영역(Method Area), 힙 영역(Heap), 호출 스택 영역(Call Stack)]
·
◈ Study/기초튼튼 개발지식🥔
- Java 메모리 영역 구조 자바 가상 머신(JVM)은 자바 프로그램이 실행되는 동안 메모리 관리를 담당한다. JVM 메모리 관리 영역은 자바 프로그램 실행 시 필요한 메모리를 효율적으로 할당하고 관리하기 위한 구조로, 프로그램의 성능과 안정성에 큰 영향을 미친다. 개발자는 이를 잘 이해하고 JVM의 옵션을 적절히 설정하여 최적의 성능을 추구해야 한다. 1. 메서드 영역(Method Area 또는 Permanent Generation) 메서드 영역은 클래스에 대한 정보(클래스 이름, 메소드, 변수, 상수)를 저장하는 영역이다. 클래스가 처음 사용될 때 해당 클래스의 정보가 이곳에 로드된다. 메서드 영역은 JVM 시작 시에 할당되며, 모든 스레드가 공유한다. 메서드 영역은 Java 7 이전 버전에서는 P..
[알고리즘] 힙 정렬(Heap Sort) [힙 트리를 활용한 정렬 알고리즘]
·
◈ Coding Test/알고리즘(Algorithm)🎡
- 힙 정렬(Heap Sort)이란? 선택 정렬과 거의 같은 알고리즘으로, 가장 큰 원소를 뒤로 보내는 데에 매번 쭉 돌면서 알아내느냐 힙을 사용하여 알아내느냐가 유일한 차이점이다. - 힙 정렬의 정렬 과정 원소들을 전부 힙에 삽입한다. 힙의 루트에 있는 값은 남은 수들 중에서 최솟값(혹은 최댓값)을 가지므로 루트를 출력하고 힙에서 제거한다. 힙이 빌 때까지 2의 과정을 반복한다.