728x90
일단 프로그래밍이 어떻게 돌아가는지 알아보자.
크게 컴파일 시점과 런타임 시점으로 나뉜다.
💡 컴파일 시점
컴파일 환경이란 우리가 코드를 작성하고 컴파일러에 의해 컴파일 되는 시점을 얘기한다 -> 프로그램 실행 전
컴파일러가 이때 우리가 적고 읽을 수 있는 코드(.java )를 검사하고
운영체제가 읽을 수 있는 바이트 코드(.class)로 변환시킨다.
💡 런타임 시점
런타임 시점은 컴파일 시점이 끝나고 프로그램이 실행되고 사용자와 상호작용하는 동안 발생하는 시간이다.
이때 객체가 생성되며 우리가 구현했던 메서드들이 호출되는 시간이다.
조금 더 자세하게 클래스 로더, 자바 인프리터, JIT 컴파일러에 대해 알아보자.
자바 인프리터와 JIT를 JVM(자바 가상 머신)이라 부른다.
클래스 로더 -> 바이트코드(.class)를 JVM으로 운반시켜준다.
자바 인프리터 -> 운영체자가 읽고온 바이트코드를 기계가 실행할 수 있는 기계어로 번역시켜준다.
JIT 컴파일러 -> 인프리터를 도와주는 서포터 해석기다.
기본적인 것이니까 꼭 이해하고 알고있자
'Java+Spring 박살내기' 카테고리의 다른 글
통합 테스트와 단위 테스트 (0) | 2024.07.08 |
---|---|
N+1 원인과 해결 방법 (0) | 2024.07.04 |
JPA에서 Lazy Loading 과 Eager Loading (0) | 2024.07.04 |
Swagger, Springdocs (0) | 2024.05.20 |
오버라이딩과 오버로딩 (0) | 2024.05.10 |