자바코드는 어떻게 실행되는가<1>?

devhan·2023년 6월 20일
0
post-thumbnail

#자바 코드 실행시켜보기

일단 작성된 자바코드가 어떻게 실행되는지 살펴보겠습니다
우선 NewWorld.java 파일을 생성하고 NewWorld class를 만들었습니다

자바 코드를 실행시키려면 bytecode의 형태가 되어야하니까 컴파일러를 이용해서 bytecode를 만들어보겠습니다

javac NewWorld.java 명령어를 실행시키니, NewWorld.class 파일이 생성되었습니다

기계어 같은 모습일 것이라 생각했는데, 생각보다 기존 코드랑 크게 다르지 않은 것 같은 byte-code입니다.
이제 class 파일을 jvm에 넘겨주면 실행될 것이라고 생각했는데, 쉽게 되지 않습니다..
(파일의 확장자명을 빼고 실행시키니 작동하는군요.. java NewWorld )

#자바 컴포넌트

그럼 이제 조금 더 구체적으로 자바코드가 어떻게 실행되는지 알아보겠습니다.
우선 Java Components부터 알아야 할 것 같습니다.

(이미지 출처: https://www.geeksforgeeks.org/differences-jdk-jre-jvm/)


  1. JDK(Java Development Kit)
  • 개발자가 '자바프로그램을 개발하는데 필요한 도구들' 정도로 이해하면 좋을 것 같습니다.
  • 이미지를 보면 jre + 자바 컴파일러(javac) 라고 표현되어있네요.
  1. JRE(Java Runtime Environment)
  • 작성된 자바코드가 실행되는 환경입니다.
  • 코드를 실행시키기 위한 최소 조건라고 보면 될 것같습니다.
  • 많은 interagion lib와 base lib, util lib 등을 포함하는 단위입니다.
  • 유튜브에서 좋은 예제를 들어서 소개합니다~

    내가 작성한 자바코드를 친구에게 보여주고 싶은 상황이라면?
    내 컴퓨터에서는 자바 코드로 개발을 해야하니까 JDK가 깔려있어야 한다!
    하지만 친구 컴퓨터에는 개발은 하지 않고 실행만 시킬 것이니 JRE만 깔려있어도 문제가 없다!

  1. JVM(Java Virtual Machine)
  • 최종적으로 자바 코드를 실행시키는 장치(런타임 엔진). 자바코드의 main을 호출한다.
  • 자바 컴파일러가 만든 byte-code를 한 줄씩 실행시켜주는 인터프리터입니다.
  • jvm 자체는 os에 종속 적, jvm이라는 추상화 층 덕분에 자바코드는 WORA를 실현할 수 있습니다.

[출처]
https://www.geeksforgeeks.org/jvm-works-jvm-architecture/
https://www.geeksforgeeks.org/differences-jdk-jre-jvm/
https://www.youtube.com/watch?v=H7UlMH_SdGc&ab_channel=GeeksforGeeks
https://www.youtube.com/watch?v=NHrsLjhjmi4&ab_channel=Telusko

profile
한번에 한가지씩

0개의 댓글

관련 채용 정보