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
반응형