자바 동작 원리

mynoseis3·2024년 7월 17일

Java

목록 보기
2/3
post-thumbnail

기본적인 작동 흐름을 정리해두자

🚴‍♂️ 자바 동작 원리

  • 소스 코드 작성:
    자바 코드를 작성하면 .java 확장자를 가진 파일로 저장을 한다 !

  • 컴파일:
    작성한 자바 소스 코드를 javac라는 자바 컴파일러를 사용해서 컴파일한다.
    이 과정에서 .java 파일이 .class 파일로 변환됨 !
    이 파일에는 자바 바이트코드가 들어있다.

  • 바이트코드:
    자바 바이트코드는 자바 가상 머신(JVM)에서
    실행할 수 있는 중간 형태의 코드이다.
    모든 자바 프로그램은 바이트코드 형태로 실행됨 ->
    자바가 플랫폼에 독립적인 이유 중 하나임 !!

  • 실행:
    바이트코드를 담은 .class 파일을 JVM이 실행함
    JVM은 바이트코드를 한 줄씩 읽어서 실행한다.
    이 과정에서 자바 바이트코드를 기계어로 변환함 !
    이 변환 과정을 JIT(Just-In-Time) 컴파일이라고 부른다.

JVM (Java Virtual Machine)

JVM은 자바 프로그램을 실행하는 데 중요한 역할을 하는 친구

1. 바이트코드 해석 및 실행

자바 바이트코드를 읽고 해석해서 실행한다.

2. 메모리 관리

프로그램 실행 중에 메모리를 관리함
ex ) 사용하지 않는 객체를 자동으로 메모리에서 제거하는
가비지 컬렉션(Garbage Collection)을 수행

3. 플랫폼 독립성

자바 바이트코드는 어떤 운영체제에서도 실행될 수 있다.
JVM만 있으면, 같은 바이트코드를 다양한 플랫폼에서 실행할 수 있음

요약

자바 소스 코드를 작성하고 .java 파일로 저장 - >
javac 컴파일러가 소스 코드를 컴파일해서 .class 파일 생성함 - >
.class 파일은 자바 바이트코드가 들어있는 파일임 - >
JVM이 바이트코드를 읽으며 프로그램 실행
(이 과정에서 jvm이 os가 인식할 수 있도록
바이트코드 -> 기계어로 변환 ) !


좀 더 자세한 내용은 아래 참고하기

https://velog.io/@minseojo/Java-%EC%9E%90%EB%B0%94-%EC%BB%B4%ED%8C%8C%EC%9D%BC-%EA%B3%BC%EC%A0%95-JVM-%EB%82%B4%EB%B6%80-%EA%B5%AC%EC%A1%B0

profile
웹개발자 꿈나무 꾸준함의 힘을 믿습니다 🚶

0개의 댓글