Java 컴파일러와 JVM은 어떤 언어로 작성됩니까? 컴파일러 ( javac), 가상 머신 (JVM) 및

Java 컴파일러 ( javac), 가상 머신 (JVM) 및 java스타터 는 어떤 언어로 작성됩니까?



답변

질문의 정확한 문구는 약간 오해의 소지 가 있습니다. 여러 JVM 공급 업체 (jrockit는 하나, IBM은 다른 것) 가 있으므로 JVM” 또는 “컴파일러” 가 아닙니다. 여러 컴파일러 .

  • 썬 JVM이 되어 작성 C은 당신의 컴퓨터에서 실행으로 JVM A – 될 필요는 없다, 플랫폼에 따라 실행 따라서 원래 어떤 언어로 작성되었습니다. 예를 들어, 원래 IBM JVM은 Smalltalk 로 작성되었습니다.

  • Java 라이브러리 ( java.langjava.util종종 Java API 라고도 함 )는 자체로 Java native로 작성되지만 C또는 로 표시된 메소드 는 또는 로 작성되었습니다 C++.

  • Sun에서 제공하는 Java 컴파일러도 Java로 작성되었다고 생각합니다. (다시 말하지만, 거기에는 여러 개의 컴파일러가 있습니다)


답변

최초의 Java 컴파일러는 Sun Microsystems에서 개발했으며 C ++의 일부 라이브러리를 사용하여 C로 작성되었습니다. 오늘날 Java 컴파일러는 Java로 작성되고 JRE는 C로 작성됩니다.

Java 컴파일러가 다음과 같이 Java로 작성된 방법을 상상할 수 있습니다.

Java 컴파일러는 Java 프로그램으로 작성된 다음 C (첫 번째 Java 컴파일러)로 작성된 Java 컴파일러로 컴파일됩니다. 따라서 새로 컴파일 된 Java 컴파일러 (Java로 작성)를 사용하여 Java 프로그램을 컴파일 할 수 있습니다.


답변

에서 자바 문서

컴파일러는 Java로 작성되고 런타임은 ANSI C로 작성됩니다.


답변

실제로 Oracle JVM은 C가 아닌 C ++로 작성되었습니다.

http://openjdk.java.net/groups/hotspot/ 에서 HotSpot JVM 코드를 살펴보십시오.


답변

이 링크 는 귀하의 질문에 답변해야합니다

컴파일러는 이제 Java로 작성되었지만 런타임은 ANSI C로 작성되었습니다.


답변

원칙적으로 거의 모든 것, 일반적으로 C


답변

연구 목적으로 광범위하게 사용되는 자체 호스팅 JVM 인 Jikes RVM 은 Java로 작성됩니다. 사람들이 데스크톱에서 실행하는 사람은 아니지만 “지금은 언어의 일반적인 힘을 보여 드리겠습니다.”라는 목록에 있습니다.