jvm

들어가며 안녕하세요! java21 LTS version 이 신규 출시됨에 따라 많이 관심을 받고 있는 Virtual thread 에 대해 이야기해보고자 하는데요 Virtual thread 는 기존에 동작하는 Platform thread 에서 동작하며, I/O blocking 발생시 중단(suspend) 지점을 stack 으로 옮겨, I/O block 되는 시간동안 다른 일들을 더 수행할 수 있게 지원하는 경량화 쓰레드라고 할 수 있습니다. 따라서 java 진영에서는 기존에 thread-per-request style 를 갖춘 application server 에서 I/O blocking 으로 인해 아무것도 하는일이 없는데도 task 를 처리할 수 없는 상황들로 인해 병목이 되는 부분들을 해결할 수 있어 ..
Java Memory 자바 개발자라면 꼭 알고 넘어가야 하는 기본 아닌 기본 소양 📝 JVM 처음부터 다 설명하는 것은 제가 이야기하고자 하는 포인트가 아니라서, 간략하게 중요한 것만 짚고 넘어가려고 합니다 ㅎㅎ 전체적인 JVM 의 구조는 아래와 같습니다 정확히는 JVM 의 Heap 에 대해서만 짚고 넘어가보도록 할게요 저희는 예전부터 개발을 진행해왔고, 많이들 익숙하신 그림을 하나 소개할까해요 위 그림은 Jdk 1.7 버젼 이전의 Heap 메모리 구조입니다 Eden: 새로 생성한 대부분의 객체가 위치하는 곳 S0, S1: Eden 영역에서 GC가 한번 발생한 후 살아남은 객체들이 존재하는 곳 Old Memory: Young Generation에 대한 GC가 반복되는 과정속에 살아남은 객체가 살아남는 곳..
JVM? - JVM : Java Virtual Machine, 자바 가상 머신 - 어떤 OS에서 동작할 수 있다는 이식성이 있으며, 스택기반으로 이루어져 있다! JVM은 다음과 같은 2가지 기능을 제공한다. ① 메모리 관리 ② Garbage Collection Why JVM? - Java 프로그램을 설계할 때, 알 수 없는 버그나 오류가 발생한 경우 빠른 디버깅을 위해 - 프로그래머가 동작과정을 숙지하고 있어야 한다 JVM 구조 Class Loader - 클래스 로더, Runtime시에 동적으로 클래스를 로드하여 링크를 통해 배치하는 작업을 수행하는 역할! - Java는 컴파일 타임에 클래스를 참조하는게 아니라 Runtime에 참조한다!! Execution Engine - Class Loader가 Run..
huisam
'jvm' 태그의 글 목록