December 30, 2020
단순 Simple
객체지향 Object-Oriented
분산 처리 Distributed
분산 환경에서 TCP/IP등의 프로토콜을 통해 효율적으로 실행할 수 있도록 설계된 언어
인터프리터 Interpreter
견고 Robust
다양한 플랫폼 상에서 실행되기 위해 에러의 원인이 되는 요소들을 제거하거나 자동으로 해결
안전 Secure
.class가 인터프리터에 적재되면,
클래스 로더, 바이트 코드 검증기로 코드의 보안성을 높일 수 있다.플랫폼 독립 Architecture Netural
높은 성능 high Performance
동적 Dynamic
프로그램이 실행될 수 있는 하드웨어 및 소프트웨어 환경을 의미
컴퓨터 하드웨어와 하드웨어를 제어하는 운영체제로 구성된 일반 플랫폼과는 다르게 자바 플랫폼은 소프트웨어만으로 구성되어 있으며 JDK(Java Developemt Kit)로 설치된다.
| 일반 플랫폼 | 자바 플랫폼 |
|---|---|
| 애플리케이션 | 자바프로그램 |
| 운영체제 | 자바 가상 머신 with 자바 API |
| 다양한 하드웨어 플랫폼 | 다양한 하드웨어 플랫폼 |
java.applet, java.awt, xjava.io, java.lang, java.net, javax.swing, java.util자바는 개발 환경과 실행 환경(JRE, Java Runtime Environment)을 나눠서 설치할 수 있다.
JRE: JDK에서 몇 가지 도구를 제외한, 실행만을 위한 도구들로 구성됨. 따라서 JRE만으로는 소스를 컴파일 할 수 없어 컴파일러를 포함한 SDK(Software Development Kit)를 설치해야한다.
JDK와 SDK는 동일한 의미이다. 1.2버전이 출시될 때 SDK라는 용어가 JDK라는 용어와 혼용되기 시작했는데 새로운 개념의 JDK라는 의미로 SDK라고 부르기 시작했다.
bin: 자바 개발 환경과 관련된 각종 명령들을 포함, 자바 컴파일러와 인터프리터 명령도 여기에 포함됨.include: 플랫폼 별로 필요한 JDK의 각종 헤더 파일들을 포함jre: 자바 실행 환경 관련 명령어와 라이브러리를 포함한 폴더lib: 자바 개발환경에서 사용될 라이브러리를 포함한 폴더환경변수에 path를 추가한다는 것은 자바의 컴파일, 인터프리터 등에 필요한 명령들을 운영체제에 등록한다는 것을 의미. 모든 경로에서 자동으로 그 파일을 인식할 수 있게 만드는 것.