오라클의 공식 JDK 7은 해당 링크에서 다운로드 할 수있는 the OpenJDK project의 코드를 기반으로합니다. 또한 동일한 사이트에서 사용할 수있는 JDK 8 지점이 있습니다.
JVM (Java Virtual Machine)은 *.class
파일을 실행하는 일종의 가상 컴퓨터입니다. 대부분의 경우 JVM은 인데은 실제 컴퓨터에서 실행되는 다른 언어 (C++ 등)로 작성된 프로그램에 의해 에뮬레이트됩니다. Windows 컴퓨터에서 Java 프로그램을 실행하면 (예 : java.exe
) 주로 C++로 작성되고, JVM으로 가장하며, *.class
파일을 실행합니다. 자바 코드는
++i;
같은 JVM 연산 코드에 (이 자바로 작성된 것입니다!) 자바 컴파일러에 의해 번역됩니다 같은
iinc 0 1
JVM이 코드 (C++로 작성된, 또는 어셈블리) 처리 할 수있는이 포함되어 그 명령과 수백 가지의 추가 명령을 실제 기계 언어의 opcode처럼 사용합니다. 사실, 실제로는 더 복잡합니다. 모든 현대 JVM은 실행중인 동안 해당 JVM opcode를 플랫폼 특정 기계 코드로 변환하지만, 해당 변환을 수행하는 코드는 물론 C++와 같은 원시 (Java 이외의) 언어로 작성됩니다. 또는 어셈블리.
잘이 물건 설명 인터 웹에 대한 기사가 많이 있습니다 here's a nice one.
내가 자바 6 또는 Java 7에 대해 알고하지 않습니다,하지만 자바 (8) 내 JDK 1.7에서 발견 한 오픈 소스 – MadProgrammer
입니다. 내 Windows의 0_21 폴더에 src.zip 파일이 설치되어 있습니다. 그 안에는 호기심 (특히 java.c와 main.c)을 해결할 수있는 .c 및 .h 파일이있는 * 실행 프로그램 * 폴더가 있습니다. –
그 파일들은 JVM 라이브러리를 둘러싼 단순한 래퍼 일뿐입니다. JVM의 소스는 다른 곳에서 얻을 수 있습니다. –