본문 바로가기

질문을 해결하는 과정6

[JVM] 3분만에 훑어보는 JVM의 가상 메모리 구조 목차 0. 개요 1. JVM 청사진 2. STACK 3. PC 4. Native Method Stack 5. Method 6. Heap 7. 결론 0. 개요 a. JVM 가상 메모리 구조, 설명들이 다 너무 어려워 .. (1) 왜 어려울까? 주제가 명확하지 않다. 보면 STACK은 말할것도 없고 METHOD, HEAP 영역 넘어가면 GC가 어쩌니 MetaSpace가 어쩌니 복잡한 주제로 넘어가는 글밖에 없어서 그런 거 같다. 그래서 오늘은 그냥 'JVM 가상 메모리 구조' 에 대해서만 딱 정리하려 한다. 1. JVM 청사진 a. JVM은 프로세스다. (1) JVM은 프로세스다. JVM은 지가 진짜 운영체제라도 된 냥 행동하지만 그냥 결국 프로세스다. JVM은 프로세스다. 이 말은 OS로 부터 메모리 영역.. 2024. 1. 15.
[Java] JVM의 메모리 구조와 GC에서 살아남는 법 목차 0. 개요 1. JVM은 뭐에요? 2. C, C++ .. 중간에 Virtual Machine 왜 안써? 3. 프로세스로서의 JVM 4. JVM에서 일어나는 대략적인 사건들 5. 늙었다는 건 .. 살아남았다는 것. 0. 개요 a. JVM의 메모리 구조 'JVM의 메모리 구조에 대해서 설명해보세요' 나는 위 질문을 듣고 아무 생각없이 "어 .. method, stack, heap 등의 영역이 있고.. 각 영역은 .." 같은 기계적인 답변을 늘어놨다. 근데 그 와중에 머리를 스치는 질문이 생겼는데 '아니 JVM은 프로세슨데 뭔 [메모리 영역] 같은 소리를 하는거지? virtual machine이라고 불러주니까 지가 진짜 머신인줄 아는건가? 그럼 내부 메모리 영역은 가상으로 할당한 영역을 의미하는건가? 가.. 2024. 1. 7.
[Java] 인사팀 과장님도 무릎을 탁 치는 자바를 컴파일 하는 과정 정리 목차 0. 개요 1. 컴파일에 대해서 2. 컴파일이 일어나는 대략적인 맥락 3. Java Virtual Machine을 위한 언어 4. 자바에서 컴파일이 일어나는 대략적인 맥락 5. 결론 0. 개요 a. 쌔한 느낌 Q. 자바를 컴파일 하는 과정이 어떻게 돼요? - 최근에 들었던 질문인데, 대답하다 보니 "내가 잘 이해도 못하고 외우기에만 급급했구나" 라는 생각이 들었다. 그래서 이번 기회에 정리해보기로 했는데 어차피 복잡하게 정리하면 중간에 또 까먹을거라 최대한 이해하기 쉽게 정리해보기로 했다. b. 염두할 것 '자바 컴파일' 과정을 쉽게 표현하는게 목적임을 잊지 말자 - 생각을 하다보니 또 GC니 JVM 구조니 복잡해져서 최대한 자바 컴파일을 쉽게 설명하도록 글을 쓰기로 했다. 2023년 마지막 날이라.. 2024. 1. 3.
[OOP] 아니 그래서 객체지향이 외 필요한데? 목차 0. 개요 1. 객체지향 .. 외 등장한거야? 2. 객체지향 .. 어떻게 발전헸어? 3. 내가 만든 시스템에 '어느정도의 유연성과 간결함이 필요한가' 4. 결론 0. 개요 a. 객체지향이 대체 외 필요한데? 사실 나는 객체지향이란 용어를 게임 프로그래밍 공부 할 때 처음 접했다. 그 전까진 '객체지향'이란 내용이 이렇게 무게감 있는 용어인지 몰랐었는데 교수님들이 수업 중간에 '자바는 객체지향'이란 말을 할 때도 사실 '고리타분한 구분을 위한 옛날 용어겠거니~' 하고 넘어갔었다. 근데 웹 개발자가 되고 나서 이것저것 공부를 하다 보니 '객체지향'의 중요성을 강조하는 곳들이 많았고 최근에는 '객체지향의 중요성을 이해 못하면 개발자 자질이 없다'라고 가스라이팅 당한 상태이다. 근데 도대체 객체지향이 뭐가.. 2024. 1. 3.