JVM

[Java] JVM - Garbage Collector 0. 들어가기전에 GC는 여러 종류가 있고, 자바 버전별로 기본적으로 채택하는 GC가 다릅니다. JAVA 8에는 Parallel GC, JAVA 9이상 부터는 G1 GC가 사용이 됩니다. Parallel GC까지는 이전 GC와 동작방식이 비슷하지만, G1 GC는 동작하는 방법이 달라 부득이하게 내용이 나뉘게 되었습니다. 1. Garbage Collector 런타임에 실행 중인 프로그램에 대한 메모리 할당 및 회수를 관리하는 자동 메모리 관리 시스템 가비지 컬렉터는 가비지 컬렉션(Garbage Collection)이라는 과정을 통해 자바 어플리케이션에서 자동으로 메모리 관리를 해주는 시스템이다. 그렇다면 '가비지 컬렉션(이하 GC)를 자주 실행하는게 ..
[Java] JVM - 메모리 구조 0. 들어가기 전에 static 변수는 static 영역 메모리에 올라간다. 그래서 GC가 되지 않기 때문에 남용하면 성능 문제를 일으킬 수 있다. 이 문장은 자바와 관련된 내용을 다루는 블로글들을 돌아다니면 한 번쯤 볼 수 있는 문구이다. '문법 공부가 바빠서', '프로젝트가 있어서' 이해가 안되지만 그냥 넘어간적이 한 두 번이 아니다. 그래서 이번엔 이 문장들을 이해하기 위해서 자바의 기초이자 심화과정인 JVM에 대해서 알아보려고 한다. 1. JVM이란? JVM(Java Virtual Machine)은 자바를 실행하기 위한 가상머신이며, 자바 바이트 코드를 OS에 맞게 해석 해주는 역할을 한다. 또한, 프로그램 메모리를 최적화 해주고 관리한다. 자바는 다른 프로그래..
[JAVA] JVM 1. JVM(Java Virtual Machine)이란? 자바가 OS에 종속받지 않고 실행할 수 있게 하는 가상 컴퓨터 스택 기반의 가상 머신 기본 자료형외의 모든 자료형들을 심볼릭 레퍼런스를 통해 참조 심볼릭 레퍼런스 : 참고하는 클래스의 특정 메모리 주소의 이름만 가지고 있는 것 GC(Garbage Collection)을 통해 자원(메모리)을 관리 → JVM을 이해하면 한정된 메모리를 효율적으로 사용하여 성능을 향상 시킬 수 있다. 2. 클래스 로더 JVM 내로 클래스 파일(자바 바이트 코드, *.class)을 로드하고, 링크를 통해 배치하는 작업을 수행하는 모듈 자바 바이트 코드 : JVM이 이해할 수 있는 언어로 변환된 자바 소스코드 런타임시 jar 파일 내 저장된 클래스들을 ..
쿠엔크
'JVM' 태그의 글 목록