본문 바로가기
Java+Spring 박살내기

컴파일 시점과 런타임 시점

by 창브로 2024. 5. 9.
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