JAVA 2011. 5. 25. 00:29
자바는 JDK라는 자바 컴파일용 소프트웨어를 설치 한 후 컴파일이 된다. 

먼저 컴파일(compile)에 대하여 알아보면

컴퓨터는 모든 명령을 기계어(machine language)로 수행하는데

이 기계어는 01011101001001 이런식으로 0과 1로 구성되서 사람이 보기 매우 힘들다,

그에 반면 컴퓨터가 보기에는 사람의 언어가 모호하고 부정확해서 수행을 할 수가 없다, 그렇기 때문에

사람도 보기 편하고, 정확한 문법과 규칙으로 되어 컴퓨터도 보기편한 프로그래밍언어(programing

language)
 라는 것을 사용하여 프로그래밍을 하는데 이 소스를 기계어로 번역하는 것이 컴파일, 

컴파일 해주는 소프트웨어가 컴파일러(compiler) 이다. 언어마다 컴파일러가 다르지만 자바에서의

컴파일러가 JDK이다. 그러므로 자바프로그래밍을 하려면 JDK는 필수이다. 

자바는 컴파일을 할 때 java.exe를 실행 한다. 이유는 아래에 있다.

C나 다른 언어들은 컴파일러가 만든 실행파일을 바로 실행 할 수 있다.

이는 아예 컴파일러가 하드웨어와 운영체제에 꼭 맞는 기계어 코드파일을 만들기 때문이다. 

하지만 자바컴파일러는 자바 가상기계(Java Virture Machine, JVM) 에 맞는

가상 기계어로 만들고 그 파일이 .class로 떨어지는 클래스 파일이다.

자바 가상기계는 가상기계어(class파일)를 진짜 기계어(0101)로

만들 수 있는 능력이 있는데 이 자바가상기계를 실행 하는 일을 java.exe가 하기 때문이다.

여기서 왜 자바는 바로 다른 언어처럼 기계어로 번역해서 수행하지 않냐는 의문이 드는데 

이는 콘센트의 플러그를 생각하면 된다. 110v와 220v라는 다른 환경의 운영체제와 하드웨어가  있다 치자,

다른언어는 컴파일러가 110v면 110v, 220v면 220v 로 만든다, 그러기에 220v로 만들어진 결과물을 110v에선

사용 할 수 없는 상황이 온다, 하지만 자바는 자바가상기계가 전압을 교체 시켜주는 플러그 역할을 한다.

그러기에 110v로 소스를 만들던 220v로 소스를 만들던 자바 가상 기계가 중간에서 다리역할을 하여

어떤 운영체제, 하드웨어에서든 JDK만 깔아주면 그 안에 있는 자바가상기계가 클래스파일을 

번역하여 그대로 실행 할 수 있다는 장점이 있다. 

페이지로 보면 한 장이지만 엄청난 정보가 들어있었다.. 




  출판사 : 한빛미디어 , 저자 : 김윤명 님의 뇌를 자극하는 Java프로그래밍에서 공부한 내용입니다.
posted by 젊은쎄오
: