Algorithm/코딩테스트 (Java)

01. 자바기초 (컴파일언어/인터프리터언어/JVM/JRE/JDK)

싱브이 2023. 8. 8. 17:27
728x90
반응형

우리가 흔히 말하는 프로그래밍 언어가 컴퓨터 언어라고 말한다.

하지만, 이 언어 자체를 컴퓨터는 바로 이해하지 못한다 ! 이 언어들도 사람을 위해 만들어진 언어이기 때문이다 !

컴퓨터는 무조건 0과 1로 말해야 알아듣는다.

 

먼저, 우리가 짠 언어들을 컴퓨터가 알아들을 수 있게 바꿔야 한다.

1. Compiled (번역) 언어 → 컴파일 언어
     : 프로그래밍 언어로 코드를 짜고 나서 실행하기 전에 미리 컴퓨터가 읽을 수 있는 언어로 번역을 하는 것

     실행속도가 빠름

     C, C++, Java

2. Interpreted (통역) 언어  인터프리터 언어

     : 사람이 짠 코드를 그대로 컴퓨터에 전달, 인터프리터가 실시간으로 컴퓨터에게 읽어주면서 일을 시키는 것

     Python, JavaScript

 

다음으로 컴파일 된 언어를 각 컴퓨터가 이해할 수 있도록 맞춰줘야 한다.

JVM : 자바 가상 머신

Java로 짠 코드를 자바 바이트코드(JB)로 번역한 다음 각 컴퓨터의 os(window, mac, linux,,)등으로 보낸다.

그러면 JVM이 JB를 읽고 해당 컴퓨터에게 지시를 내린다.
JVM을 사용하면 개발할 때 어떤 언어로 컴파일을 해야 할지 신경쓰지 않아도 된다.

 

JRE : 자바 실행 환경 (JVM , 표준라이브러리)

JVM을 실행 시킬 공간에 해당한다. 

 

JDK : 자바 개발 키트 (JRE, JVM, 표준라이브러리, 컴파일러, 디버거, JAR, 프로파일러 등)

요즘들어 JVM과 JDK의 경계가 모호해졌다.

728x90
반응형