[JVM 밑바닥까지 파헤치기] Part 2 - Chapter - Section 2.3 : 핫스팟 가상 머신에서 메모리 모델
·
Reference/JVM 밑바닥까지 파헤치기
저우즈밍(周志明) 저, "JVM 밑바닥까지 파헤치기"를 기반으로 작성한 글입니다.실행 환경은 Windows + Ubuntu 22.04.05 LTS 기반으로 진행합니다.2.2가 런타임 모델, 2.3에서는 메모리 모델을 다룬다.그 중 가장 보편적인 가상 머신인 핫스팟과 가장 보편적인 메모리 영역인 자바 힙을 예시로,객체 생성(할당), 레이아웃, 접근 방법 등의 과정을 다룬다.1. 객체 생성 📌 Overview시작하기 앞서, 일련의 과정을 간략하게 다이어그램으로 표현해봤는데 정확하진 않다.책에서 제공한 다이어그램이 아니기 때문에 대충 의미를 자체로 해석해서 이런 느낌이 아닐까 싶은데, 몇 가지 의문점들이 있다. 클래스 로더 시스템에서 로딩(loading), 해석(resolve), 초기화(initalize)은..
[JVM 밑바닥까지 파헤치기] Part 2 - Chapter - Section 2.2 : 런타임 데이터 영역
·
Reference/JVM 밑바닥까지 파헤치기
저우즈밍(周志明) 저, "JVM 밑바닥까지 파헤치기"를 기반으로 작성한 글입니다.실행 환경은 Windows + Ubuntu 22.04.05 LTS 기반으로 진행합니다.1. Overview 📌 JVM Specification Chapter 2. The Structure of the Java Virtual MachineConditional branch: ifeq, ifne, iflt, ifle, ifgt, ifge, ifnull, ifnonnull, if_icmpeq, if_icmpne, if_icmplt, if_icmple, if_icmpgt if_icmpge, if_acmpeq, if_acmpne.docs.oracle.comJVM 명세에 따르면, JVM은 자바 프로그램을 실행하는 동안 필요한 메모리를 ..
[JVM 밑바닥까지 파헤치기] Part 1 - Chapter 1 - Section 1.6 : JDK 직접 빌드하기
·
Reference/JVM 밑바닥까지 파헤치기
저우즈밍(周志明) 저, "JVM 밑바닥까지 파헤치기"를 기반으로 작성한 글입니다.실행 환경은 Windows + Ubuntu 22.04.05 LTS 기반으로 진행합니다.1. 소스 코드 구하기 📌 OpenJDK 17 Java Platform, Standard Edition 17 Reference ImplementationsJava Platform, Standard Edition 17 Reference Implementations The official Reference Implementation for Java SE 17 (JSR 392) is based solely upon open-source code available from the JDK 17 Project in the OpenJDK Communi..
[Spring Boot] Mockist 안티 패턴에서 벗어난 TDD 도입해보기
·
Backend/Spring Boot & JPA
💡 읽기전에 주의 사항1. 기본적인 TDD와 JUnit, Mockito 라이브러리에 대한 이해를 요구합니다. (초급자용이 아닙니다.)2. 아래 포스트는 정답이 아닙니다.단위 테스트에는 목킹을 최대한 자제하는 고전파와 목킹을 적극 권장하는 런던파가 존재합니다.하지만 최근 들어서 목킹이 안티 패턴이라는 말이 기정사실화 되어감에 따라, 제 경험을 바탕으로 고전파 쪽으로 치우친 이야기를 하고 있습니다.여전히 좋은 TDD에 대해서는 알아가는 과정에 있으니, 참고하실 때 유의하시길 바라는 마음에 서두에 남겨둡니다.시작하기 앞서, 해결책은 카카오페이 기술 블로그에서 가장 많이 영감을 받았습니다.진심으로 감사드립니다.1. Introduction 📌 Am I truly parcticing TDD?나는 요 근래 제대로..