| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- backend
- QueryDSL
- 스터디
- Redis
- jvm
- jpa
- Docker
- java
- 자바
- aws
- Cache
- goorm
- backenddeveloper
- 개발자
- nosql
- 오블완
- orm
- spring
- serverless
- goorm x kakao
- s3
- data
- CodeCommit
- Spring Boot
- 티스토리챌린지
- mapping
- 자격증
- MSA
- 기본형
- bootcamp
- Today
- Total
목록JVM (7)
gony-dev 님의 블로그
지난 시간에는 JVM의 프로그램 상에서 작동하는 파라미터 전달 방법 두 가지의 차이를 알아보고,힙/스택 영역에서 어떻게 동작하는지 알아보았다.[JVM] - Call by Value / Call by Reference이번 시간에는 자바 클래스 파일들이 어느 시점에 로딩되고 초기화되는지 알아보도록 하자.출처 - Inpa Dev Class Loader로드와 초기화라는 키워드를 듣고 클래스 로더가 생각난다면 JVM에 대해 어느정도 이해를 하고 있다고 할 수 있다.클래스 로더는 동적 로딩을 통해 필요한 클래스들을 로딩 및 링크하여 Runtime Data Area에 올리는 작업을 수행한다.동작 방식은 크게 3가지로 나뉜다.Loading클래스 파일들을 가져와 JVM의 메모리에 로드한다.LinkingVerifying ..
지난 시간에는 JVM 내에서 사용되는 메모리 영역들인Method Area, Heap Area, Stack Area를 알아보았다.[JVM] - 자바 코드의 메모리 영역이번 시간에는 Java의 Call by Value와 Call by Reference에 대해 알아보자.출처 - Inpa Dev Java의 Call by Value / Call by Reference자바에서 메서드를 호출할 때 파라미터를 전달하는 방법에는 두 가지가 존재한다.1. Call by Value2. Call by Reference이는 프로그래밍 시 반드시 마주하게 되는 개념으로 함수의 매개변수에서 값을 복사하느냐 주소값을 참조하느냐에 따라반환 결과가 달라지기 때문에 중요하다. 데이터형에 따라 동작 차이가 나는데,자바의 데이터형을 먼저 알..
이전 시간에는 Garbage Collection을 개선하기 위한 GC Tuning에 대해 과정을 간단히 살펴보았다.[JVM] - Garbage Collection Tuning이번 포스팅에서는 JVM에서 사용하는 메모리 영역에 대해 알아보도록 하겠다.출처Sujinhope.github.comInpa Dev Java 메모리 영역JVM 구동 과정에서 살펴보았듯이 JVM은 OS로부터 메모리를 할당받고, 용도에 따라 각기 다른 영역으로 나누어 관리한다.메모리 공간은 크게 Method 영역, Stack 영역, Heap 영역으로 나뉘며, 데이터의 타입에 따라 다른 영역으로 나누어 할당된다.1. Method Area- 바이트 코드를 처음 메모리 공간에 올릴 때 초기화되는 대상을 저장하기 위한 메모리 영역- 초기화 ..
이전 포스팅에서는 Garbage Collection의 동작 원리와 여러 버전에 대해 알아보았다.[JVM] - Garbage Collection 동작 원리 및 종류이번 포스팅에서는 Garbage Collection 튜닝 절차에 대해 알아보도록 하자.출처 - Inpa Dev Garbage Collection 튜닝Java 언어는 C 언어와 비교하여 속도 차이가 나는데 그 이유는 JVM에 있다.바이너리 코드로 컴파일되는 C 언어에 비해, Java 언어는 바이트 코드라는 중간 단계 컴파일을 해석하는데 시간이 소요되기 때문이다.그리고 또 하나의 이유가 있는데, 이전부터 계속 언급했던 GC의 단점, "Stop The World'이다.(STW는 GC가 실행되는 동안 다른 작업이 정지되는 시간이다.) 이렇게 Java 어..
지난 시간에는 JVM의 동작 원리와 내부 구조에 대해 알아보았다.[JVM] - JVM 내부 구조 & 메모리 영역이번에는 Excution Engine 내의 Garbage Collection의 동작원리와 종류에 대해 알아보는 시간을 가질 것이다.출처 - Inpa Dev Garbage Collection줄여서 GC라고 하는 Garbage Collection는 힙 영역에 동적으로 할당된 메모리 중 더이상 필요하지 않은 메모리 객체를 회수하는 프로세스이다.(Garbage Collector는 Garbage Collection이 동작을 수행하는 주체이다.)이때 '더이상 필요하지 않은'이라는 의미는 스택 영역에서 더이상 참조하지 않는 값이나 데이터 필드를 의미한다. 이전 글에서도 언급했듯이 C언어는 더이상 사용하지 않..
이전 게시글에는 JDK/JRE/JVM에 대해 학습해보았다.[JAVA] - JDK / JRE / JVM 개념출처 - Inpa Dev 이번 시간에는 JVM의 내부 구조에 대해 자세하게 파헤쳐보자. JVMJVM은 자바 언어에서만 사용하는 것이 아닌 코틀린, 스칼라 언어에서도 JVM 동작 방식을 그대로 따른다.위의 그림은 자바 어플리케이션의 작동 방식을 간단하게 도식화한 것인데,오늘 학습할 내용은 class 파일을 JVM을 거쳐 프로그램을 실행하도록 하는 과정이다. JVM 동작 방식JVM의 역할은 자바 어플리케이션을 클래스 로더를 통해 읽어 자바 API와 함께 실행하는 것이다.위의 그림은 자바 소스 파일이 어떤 동작으로 코드가 읽혀지는지 나타낸 도식이다.과정은 다음과 같다.자바 프로그램 실행 시 JVM은 OS로..
Java 언어를 사용하여 프로젝트를 사용하는 것은 우리에게 기본적인 행위이지만어떤 식으로 돌아가는지 아는 이들은 과연 얼마나 될까?Java 프로그램이 돌아가게 하는 JDK와 JRE, 그리고 이 둘을 합친 JVM이 무엇인지 알아보자.[출처] Inpa Dev JDK(Java Developement Kit)JDK는 자바 개발 키트의 약자로 개발자들이 자바로 개발하는데 사용되는 SDK(Software Development Kit)이다.JDK 내부에는 자바 개발 시 필요한 여러 라이브러리들과 javac, javadoc 등의 개발 도구들이 들어있고, 곧이어 배울 JRE도 들어있다. JDK 버전자바의 버전 표기 방식은 보통 JDK or Java SE 버전으로 나타낸다.JAVA 버전 표기들을 알아보자. Java SE(..
