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를 추가한다는 것은 자바의 컴파일, 인터프리터 등에 필요한 명령들을 운영체제에 등록한다는 것을 의미. 모든 경로에서 자동으로 그 파일을 인식할 수 있게 만드는 것.