자바를 시작하게 되면 jdk, kre, jvm이라는 용어를 듣게 되실 텐데요
간단하게 정리하자면
JDK : 자바 개발도구(java development kit)의 약자이며, 썬 마이크로시스템즈에서 개발한 Java 환경에서 돌아가는 프로그램을 개발하는 데 필요한 툴들을 모아놓은 소프트웨어 패키지입니다. JVM과 JRE에 의해 실행되고 구도될 수 있는 자바 프로그램을 생성할 수 있게 줍니다. JRE 외에 개발에 필요한 도구들을 가지고 있습니다.
JRE : 자바 실행환경(Java Runtime Environment)의 약자이며, JRE는 JVM과 JVM이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일(자바 API)들, 기타 파일들을 가지고 있습니다. JRE는 JVM의 실행환경을 구현했다고 할 수 있습니다.
JVM :자바 가상 머신(Java Virtual Machine)의 약자이며 자바 소스코드로부터 만들어지는 자바 바이너리 파일(. class)을 실행할 수 있습니다. 즉, 운영체제가 달라도 PC에 JVM만 깔려있다면 자바 언어로 만든 프로그램이 돌아갈 수 있습니다. C/C++의 경우 플랫폼 종속성을 가지고있기 때문에 각 플랫폼 대상으로 따로 컴파일하여 맞는 프로그램을 생성하여야하지만 자바의 경우 JVM만 있다면 어떤 컴퓨터에서든 동일하게 프로그램을 실행할 수 있습니다. 즉, 플랫폼 독립적 특징을 가지며, 한번 작성된 자바 프로그램은 수정없이 다른 운영체제에서 똑같이 사용이 가능하게 됩니다.
<JDK ,JRE 구조>
JVM구성
1) Class Loader : 메모리 적제
2) Runtime Path Areas : RAM 영역 관리
3) Execution Engine : 소스코드를 읽고 실행
JDk의 구성
bin | 자바 개발, 실행에 필요한 도구와 유틸리티 명령 |
conf | 여러 종류의 배치파일 |
include | 네이티브 코드 프로그래밍에 필요한 C언어 헤더 파일 |
jmods | 컴파일된 모듈 파일들 |
legal | 각 모듈에 대한 저작권과 라이선스 파일 |
lib | 실행 시간에 필요한 라이브러리 클래스 |
bin 디렉토리에 들어있는 주요 개발 소프트웨어
- javac : 자바 컴파일러로 자바 소스를 바이트 코드로 변환
- java : 자바 프로그램 실행기. JVM을 작동시켜 자바 프로그램 실행
- javadoc : 자바 소스로부터 HTML 형식의 API 도규먼트 생성
- jar : 자바 클래스 파일을 압축한 자바 아카이브 파일(.jar) 생성, 관리
- jmod : 자바의 모듈 파일을 만들거나 모듈 파일의 내용 출력
- jlink : 응용프로그램에 맞춘 맞춤형 JRE 생성
- jdb : 응용프로그램의 실행 중 오류를 찾는데 사용하는 디버거
- javap : 클래스 파일의 바이트 코드를 소스와 함께 보여주는 디어셈블러
'☕️JAVA' 카테고리의 다른 글
[JAVA] 자바 연산자(Operator) (0) | 2020.02.18 |
---|---|
[JAVA] 자바 Scanner로 입력받기 (입출력 간단 예제, 암호화 간단 예제) (1) | 2020.02.18 |
[JAVA] 자바 변수(Variavle)와 자료형(Data Type) (0) | 2020.02.18 |
[JAVA] 자바 출력문(print, println, printf), 형변환 (2) | 2020.02.18 |
[JAVA] 자바 환경변수 설정하는 이유, 설정하는 방법 (0) | 2020.02.18 |