개발 무지렁이

[Java] 자바의 "Write once, run anywhere" 철학과 Java SE와 JDK, JVM과 JRE 본문

Backend/자바

[Java] 자바의 "Write once, run anywhere" 철학과 Java SE와 JDK, JVM과 JRE

Gaejirang-e 2023. 2. 17. 18:01

프로그래밍 언어, 고급 언어, Java


컴퓨터사람이 의사소통하기 위한 수단을 '프로그래밍 언어'라고 하는데,
사람이 이해하기 쉬울수록 고급언어, 그 반대일수록 저급언어라고 한다.

소스파일(.java)바이트코드 파일(.class)로 만드는 컴파일 명령어(javac.exe)


❓. 컴파일이란

'소스파일'을
바이트코드 파일로 만드는 과정을 '컴파일'이라고 한다.
(단, 바이트코드 파일은 운영체제와 상관없이 동일한 내용으로 생성)

바이트코드파일(.class)기계어로 만드는 프로그램 실행 명령어(java.exe)


java.exe 명령어는
'자바 가상 머신(JVM, Java Virtual Machine)'을 구동시켜
바이트코드 파일을 완전한 기계어로 번역한다.

❓. JVM이란
: 자바 바이트 코드(Java Byte Code)기계어로 해석하고 실행하는 환경을 제공한다.
즉, JVM은 운영체제에 따라 따로 설치해야하지만,
자바 애플리케이션 코드 자체는 운영체제에 독립적이다.

Write once, run anywhere


☕ 결론:
한 번 작성된 자바 코드는
어떤 운영체제아키텍처에서도 동작할 수 있어야 한다.

☕ 자바(Java)의 특징
- 모든 운영체제에서 실행 가능 (운영체제별로 JVM을 만들어 놨다.)
- 객체 지향 프로그래밍 (OOP 최적의 언어, Object Oriented Programming)
- 메모리(RAM) 자동 정리
- 무료 라이브러리 풍부

☕. 객체 지향 프로그래밍이란(OOP)?
객체(부품)을 만들고, 서로 연결해서, 더 큰 프로그램을 만드는 기법

JDK (컴파일러(javac) + JRE + 라이브러리 및 API + 디버깅 ETC)


JDK(Java Development Kit)라는 '자바 개발 도구'를 배포
또한, Java SE(Standard Edition)의 구현체가 JDK이다.

📍. JRE(Java Runtime Environment)란
: 자바 실행 환경 제공(JVM + 라이브러리)
Comments