Java?
자바는 c++ 와 달리 처음부터 객체지향언어로 개발된 프로그래밍 언어입니다.
자바는 자바 가상 머신(JVM)을 사용하여 어느 운영체제에서나 같은 형태로 실행될 수 있습니다.
Java의 특징
- 자바는 운영체제와는 독립적으로 실행 가능하다.
- 자동 메모리 관리 등을 지원하여 다른 언어에 비해 안정성이 높다.
- 네트워크와 분산 환경 지원, 멀티스레드 지원, 동적 로딩 지원
자바의 단점
- 자바는 실행을 위해 자바 가상 머신(JVM)을 거쳐야해서 다른 언어에 비해 실행속도가 느림.
- 자바는 예외처리가 잘 되어 있지만, 개발자가 하나하나 처리를 지정해줘야 한다는 불편함이 있음.
- 자바는 다른 언어에 비해 작성해야 하는 코드의 길이가 긴 편이다.
Java 프로그램 개발 과정
컴파일
인간이 이해하는 언어를 통해 프로그램을 만들고 이를 기계어로 번역하는 과정
자바 컴파일러
자바 컴파일러는 작성한 자바 소스코드를 자바 가상머신이 이해할 수 있는 자바 바이트 코드로 변환합니다.
자바 가상 머신(JVM)
자바 가상 머신 (JVM)이란 자바 바이트 코드를 실행시키기 위한 가상의 기계라고 할 수 있습니다.
자바로 작성된 모든 프로그램은 JVM에서만 실행될 수 있으므로, 자바 프로그램을 실행하기 위해서는 반드시 JVM이 설치되어 있어야 합니다.
위의 그림처럼 서로 다른 운영체제라도 JVM이 설치되어 있다면 아무런 추가 조치 없이 동작할 수 있습니다.
따라서 한 번만 프로그램을 작성하면, 모든 운영체제에서 사용할 수 있는 장점이 있습니다.
JDK, JRE, JVM ?
- JDK(Java Development Kit) : JRE + 개발을 위한 도구(컴파일러, 디버그)등을 포함
- JRE(Java Runtime Environment) : JVM을 포함하고 있으며 자바 프로그램 실행에 필ㄹ요한 라이브러리 등이 포함되어 있다.
- JVM(Java Virtual Machine)의 약자이며 OS별로 존재한다. 바이너리 코드를 읽고 실행한다.