가치 있는 삶

안녕하세요 김찌입니다.

"자바 가상 기계(JVM) , API 도큐먼트 알아보기" 김찌의 자바공부 6번재 시간입니다.

이번 시간에는 JVM이 무엇이고 어떤 역할을 하는지,

API 도큐먼트 사용 방법 대해서도 간략하게 살펴 보겠습니다.



자바 가상 기계 JVM

윈도우, 맥, 리눅스등 운영체제는 자바 프로그램을 바로 실행할 수 없습니다.

자바 프로그램이 완전한 기계어가 아닌 바이트 코드이기 때문인데요.

이것을 해석하고 실행하기 위해서는 가상의 운영체제가 필요한데, JVM이 그 역할을 하는 것입니다.



윈도우, 맥, 리눅스 등의 운영체제는 프로그램을 실행하는 방법이 다른데요.

그렇다고 자바 프로그램을 운영체제 별로 다르게 개발해야 할까요? 

그렇지 않습니다. 한번 살펴 볼까요?



자바 프로그램으로 하나의 소스 파일(.java)을 만듭니다.

소스 파일을 컴파일 하여 바이트 코드 파일(.class)을 생성합니다.

생성된 바이트 코드 파일을 java.exe로 실행시킵니다.


단, 실행은 시키되 


운영체제에 맞는 자바 가상 기계(JVM)를 구동하는 것입니다.


바이트 코드는 모든 JVM에서 동일한 실행 결과를 보이지만

JVM은 운영체제에 존속적입니다.

자바 프로그램을 운영체제가 이해하는 기계어로 번역해서 실행해야 하므로

JVM은 운영체제에 맞게 설치되어 있어야 합니다

JVM은 JDK, JRE를 설치하면 자동으로 설치되는데

JDK와 JRE가 운영체제 별로 제공되기 때문에 따로 신경 써야 하는 부분은 없습니다.


자바의 단점으로 가장 많이 거론되는 것이 "속도"입니다.

다른 프로그래밍 언어는 컴파일 단계에서 완전한 기계어로 번역되어 빠르게 실행되는 반면

자바는 한 번의 컴파일 후 JVM을 거쳐야만 실행 가능한 기계어가 만들어 진다는 

단점을 가진 것은 사실입니다.

그러나, JVM 내부에 기계어로 빠르게 변환해주는 최적화된 JIT 컴파일러를 

지원하기 때문에 다른 프로그래밍 언어와 실행 속도의 차이를 크게 느끼지 못 할 만큼

속도의 격차는 많이 줄어들고 있습니다.


자바의 가장 큰 장점으로 거론되는 것이 "한 번 작성하면 어디서든 실행된다" 는 것인데요

어떤 운영체제에서도 실행 가능하도록 만들어주는 "자바 가상 머신 JVM" 이

가장 큰 장점이면서 거의 유일한 단점이 된다는 것이 참 재밌기도 합니다^^ 





API 도큐먼트란?

JDK에서 제공하는 표준 클래스 라이브러리를 설명해 놓은 html 페이지 툴


웹 브라우저로 "http://docs.oracle.com/javase/8(김찌 JDK)/docs/api/" 에 접속하면 

다음과 같은 자바(java) API 도큐먼트 페이지를 확인할 수 있습니다.

공부하면서 자주 참고하게 될 페이지이므로 즐겨찾기에 추가해서 

쉽게 열어볼 수 있도록 해야겠습니다.


자바 API 도큐먼트 바로가기



자바(java) 프로그램을 개발하기 위해서는 JDK에서 제공하는 표준 클래스 라이브러리를 반드시 사용해야 합니다.

JDK에 포함되어 있는 API들은 매우 방대하기 때문에 쉽게 찾을 수 있도록 API 도큐먼트를 제공하는데요.

자바(java) API는 자바 프로그램의 모든 영역에 대해 라이브러리 클래스를 제공하고 있습니다.


해당 라이브러리 파일은 rt.jar 파일로 제공되고 jar 파일은 클래스 패스를 지정하지 않아도

JVM을 구동할 때 자동으로 로딩 되어 사용합니다.

파일의 위치는 다음과 같으니 참고만 하시면 될 것 같습니다.


C:/Program Files/Java/jdk1.8.0_131/jre/lib



오늘은 자바 가상 기계 JVM과 API 도큐먼트에 대해서 알아 봤는데요.

다음시간에 공부하게 되는 이클립스와 안드로이드 스튜디오까지 설치하게 되면

자바 프로그램을 개발하기 위한 모든 준비가 끝나는 것 같습니다.


하루 빨리 프로그램 개발을 시작해 보고 싶네요^^

무더운 여름 건강 유의 하시구요.

김찌는 좋은 날 다시 오겠습니다~~