JRE (Java Runtime Enviroment)
- JVM (Java Virtual Machine) + JCL (Java Class Library) + JC (Java Command) + 기타 인프라
를 포함한 컴파일된 Java 프로그램을 실행하는데 필요한 패키지
[컴파일 : 인간이 이해할 수 있는 언어로 작성된 소스코드를 CPU가 이해할 수 잇는 언어(0,1)로 변환하는 작업]
- 기본적으로 Java 관련 파일이 있는 디렉토리
bin/ : Java 실행프로그램이 포함. JVM을 시작하는 java가 포함
conf/ : 사용자가 편집할 수 있는 구성파일(configuration files)
lib/ : 여러가지 supporting 파일.
(jar 구성파일, 속성파일, 글꼴, 번역, 인증서 등 Java의 모든 trimming들,
Java 표준 라이브러리의 .class 파일을 포함하는 모듈)
[trimming : 화면의 불필요한 부분을 제거하여 구도를 조정하는 일]
JDK (Java Development Kit)
- Java를 사용하기 위해 필요한 모든 기능을 갖춘 Java용 SDK(Software Development Kit)
- JRE에 있는 모든 건 뿐만 아니라 컴파일러(javac)와 jdb, javadoc과 같은 도구들
=> 프로그램을 생성하고 컴파일 할 수 있다.
- 몇 가지 추가 사항이 있는 JRE의 상위 집합
bin/ : 개발도구로 확대. .jar, javadoc, jshell을 포함한 javac
[jar : 자바 프로젝트 압축 파일. java로 개발한 여러 클래스 파일, 패키지 파일을 하나로 묶어 클래스들을 참조하기 편하고 배포하기 편하게 만들어 놓은 파일]
[javadoc : Java 소스코드에서 API 문서를 html 태그형식으로 작성하게 해주는 도구]
[jshell : Java 코드를 미리 검증해보는 프로토타이핑 도구(jshell에서 테스트 후 IDE에 붙여넣기 권장)]
[javac : .java 파일을 .class 파일로 컴파일해주는 컴파일러 (Java코드 -> bytecode)
java : javac로 컴파일된 .class 파일을 실행하는 프로그램]
jmods/ : 표준 라이브러리용 JMOD파일을 보유. 이런 파일은 표준 라이브러리를 jlink와 함께 사용하는 것을 허용
[jlink : 불필요한 모듈이 제거된 자바 런타임 이미지를 구성하고 메모리를 아끼고 퍼포먼스 개선]
'프로그래밍 기초' 카테고리의 다른 글
private 은 왜쓰는가? (0) | 2022.10.03 |
---|---|
MVC 패턴이란? (0) | 2022.09.26 |
오버로딩과 오버라이딩 (0) | 2022.09.26 |
하이라키(Hierarchy)란? (0) | 2022.09.19 |
함수와 클래스 (0) | 2022.09.13 |
댓글