자바 (프로그래밍 언어): 두 판 사이의 차이

내용 삭제됨 내용 추가됨
문또 (토론 | 기여)
잔글 java version up
Choboty (토론 | 기여)
잔글 영어판 분류 정보를 이용.+분류:C 프로그래밍 언어 계열; 예쁘게 바꿈
27번째 줄:
 
2006년 11월 13일 [[썬 마이크로시스템즈]]는 대부분은 자바를 [[GPL]] 라이선스로 소스를 오픈하였으며 2007년 5월 8일 이 과정을 마쳤다. [[썬 마이크로시스템즈]]가 권한을 가지고 있지 않은 대부분의 코어 부분을 오픈하였다. 2009년 4월 20일 제작사인 [[썬 마이크로시스템즈]]가 [[오라클 (기업)|오라클]]과 인수 합병됨에 따라 자바에 대한 권리 및 유지보수 또한 오라클로 넘어가게 되었다.
[[파일:Duke (Java mascot) waving.svg|thumb섬네일|100px|Duke 자바 마스코트]]
== 철학 ==
 
41번째 줄:
 
== 자바 실행 코드 생성 및 마이크로프로세서와 관계 ==
[[파일:Java virtual machine architecture.svg|thumb섬네일|400px|JVM 구조. 소스코드는 바이트코드로 컴파일되어 생성, 코드 검증, JVM에 의해 해석되어 실행(interpreted) 또는 JIT-compiled로 직접 기계어 코드로 변환 실행. JRE(Java Runtime Environment)에 API와 JVM이 함께 만들어짐.]]
 
자바가 여러 개의 [[마이크로프로세서]](CPU)에서 같은 코드가 실행되기 위해서는 C/C++의 프로그램의 실행 구조와는 다른 방식이 필요하다. C/C++가 특정 CPU의 기계어 코드를 직접 생성하면, 이 기계어 코드가 메모리에 적체되어 바로 실행된다. 따라서 C/C++은 CPU가 달라지면 컴파일러가 달라져야 한다. 임베디드 프로그램의 경우, gcc는 gcc 소스를 사용해서 특정 CPU를 지정하고, 컴파일러(x86 플랫폼에서)로 [[크로스 컴파일러]]를 만들 수 있다. x86 리눅스용 프로그램 만든다면, x86 컴파일러를 만들 수 있다. ARM용 프로그램이라면 ARM을 지정하고 컴파일러 소스를 컴파일러(x86에서 실행되는)로 ARM용 크로스 컴파일러를 만들 수 있다. 만약 gcc를 사용하고 싶지 않거나 gcc 컴파일러가 없다면, 특정 CPU 개발 도구는 구입을 해서 사용한다. 그러나 자바는 같은 코드를 사용하여 다른 CPU에서 실행되도록 하기 위해 직접 CPU의 기계어 코드를 생성해서는 안 된다. 그 대신 자바는 [[바이트코드]]([[:en:Java bytecode|Java bytecode]])라는 것을 생성한다. 이것을 [[자바 가상 머신]](JVM, [[:en:Java virtual machine|Java virtual machine]])이 해석을 하여 실행한다. 자바 가상 머신이 [[인터프리터]]가 되어 코드 해석 방식의 실행을 함으로써, 같은 바이트코드를 가지고 여러 가지의 CPU에서 실행이 가능해진다. JVM은 CPU와 직접적 관계가 있으므로 이것은 CPU의 기계어 코드로 이루어진다.
156번째 줄:
[[분류:자바 플랫폼]]
[[분류:1995년 개발된 프로그래밍 언어]]
[[분류:C 프로그래밍 언어 계열]]