Notice
Recent Posts
Recent Comments
Link
개발 무지렁이
[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)
'자바 가상 머신(JVM, Java Virtual Machine)'을 구동시켜
바이트코드 파일을 완전한 기계어로 번역한다.
❓. JVM이란
: 자바 바이트 코드(Java Byte Code)를 기계어로 해석하고 실행하는 환경을 제공한다.
즉, JVM은 운영체제에 따라 따로 설치해야하지만,
자바 애플리케이션 코드 자체는 운영체제에 독립적이다.
: 자바 바이트 코드(Java Byte Code)를 기계어로 해석하고 실행하는 환경을 제공한다.
즉, JVM은 운영체제에 따라 따로 설치해야하지만,
자바 애플리케이션 코드 자체는 운영체제에 독립적이다.
Write once, run anywhere
☕ 결론:
한 번 작성된 자바 코드는
어떤 운영체제나 아키텍처에서도 동작할 수 있어야 한다.
한 번 작성된 자바 코드는
어떤 운영체제나 아키텍처에서도 동작할 수 있어야 한다.
☕ 자바(Java)의 특징
- 모든 운영체제에서 실행 가능 (운영체제별로 JVM을 만들어 놨다.)
- 객체 지향 프로그래밍 (OOP 최적의 언어, Object Oriented Programming)
- 메모리(RAM) 자동 정리
- 무료 라이브러리 풍부
- 모든 운영체제에서 실행 가능 (운영체제별로 JVM을 만들어 놨다.)
- 객체 지향 프로그래밍 (OOP 최적의 언어, Object Oriented Programming)
- 메모리(RAM) 자동 정리
- 무료 라이브러리 풍부
객체(부품)을 만들고, 서로 연결해서, 더 큰 프로그램을 만드는 기법
JDK (컴파일러(javac) + JRE + 라이브러리 및 API + 디버깅 ETC)
또한, Java SE(Standard Edition)의 구현체가 JDK이다.
📍. JRE(Java Runtime Environment)란
: 자바 실행 환경 제공(JVM + 라이브러리)
: 자바 실행 환경 제공(JVM + 라이브러리)
'Backend > 자바' 카테고리의 다른 글
[Java] 메모리번지와 변수 (0) | 2023.02.20 |
---|---|
[Java] 프로젝트 생성과 JavaSE, JRE / 패키지와 src 디렉터리, bin 디렉터리 / 클래스와 main 메서드 (0) | 2023.02.18 |
[Java] Modifier: static (0) | 2023.01.01 |
[Java] Arrays.asList()와 new ArrayList<>() 차이 (0) | 2022.12.18 |
[Java] 상속관계에서의 우선순위 (0) | 2022.12.11 |
Comments