programing

Java 컴파일러와 JVM은 어떤 언어로 작성됩니까?

javaba 2022. 8. 14. 17:54
반응형

Java 컴파일러와 JVM은 어떤 언어로 작성됩니까?

Java 컴파일러는 어떤 언어에서 사용됩니까?javac및 , JVM 。java타터터 츠요시

질문의 정확한 표현은 약간 오해의 소지가 있습니다.여러 JVM 벤더(jrockit은 1개, IBM은 1개)와 여러 컴파일러가 있기 때문에 "JVM"이나 "컴파일러"가 아닙니다.

  • Sun JVM은 다음과 같이 기술되어 있습니다.C단, 이는 필수는 아닙니다.JVM은 사용하시는 머신에서 동작하고 있기 때문에 플랫폼에 의존한 실행 파일이기 때문에 원래 어떤 언어로도 작성되어 있을 수 있습니다.예를 들어 원래 IBM JVM은 Smalltalk로 작성되었습니다.

  • 라이브러리Java)java.lang,java.utiletc(Java API) 자체는 Java로 작성되지만 메서드는 다음과 같이 표시됩니다.native 있을 입니다.C ★★★★★★★★★★★★★★★★★」C++.

  • Sun에서 제공하는 Java 컴파일러도 Java로 작성되어 있다고 생각합니다.(하지만 여러 컴파일러가 있습니다)

최초의 자바 컴파일러는 Sun Microsystems에 의해 개발되었으며 C++의 라이브러리를 사용하여 C로 작성되었다.현재 Java 컴파일러는 Java로 작성되며 JRE는 C로 작성됩니다.

Java 컴파일러가 Java에서 어떻게 작성되었는지 짐작할 수 있습니다.

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

Java Docs에서

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

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

HotSpot JVM 코드(http://openjdk.java.net/groups/hotspot/를 참조하십시오.

원칙적으로 거의 모든 것, 보통 C

링크는 질문에 대한 답변입니다.

컴파일러는 Java로 작성되어 있는 것 같습니다만, 런타임은 ANSI C로 작성되어 있습니다.

  • Java가 Sun Microsystem에 의해 도입되었을 때 Java 컴파일러는 C++의 라이브러리를 사용하여 C로 작성되었습니다.
  • 컴파일러 설계에는 Bootstraping이라는 개념이 있습니다.주로 컴파일러 개발에서 사용됩니다.Bootstraping은 컴파일러가 컴파일하려는 소스 프로그래밍 언어로 컴파일러(또는 어셈블리러)를 작성하는 프로세스입니다.셀프호스팅 컴파일러를 작성하기 위해 사용됩니다.새로운 프로그래밍 언어용 컴파일러의 개발은 처음에 기존 언어로 개발되었으며, 그 후 새로운 언어로 다시 쓰여지고 자체적으로 컴파일되었습니다.그것이 오늘날 자바 컴파일러가 자바 자체로 작성되는 이유이다.
  • Java 가상 머신: Java 가상 머신은 추상 머신입니다.실제 컴퓨팅 머신처럼 명령어 세트를 가지고 런타임의 다양한 메모리 영역을 조작합니다.일반적으로 JVM은 바이트 코드를 기계 코드로 해석합니다.

(자세한 것에 대하여는, 다음의 링크를 참조해 주세요.https://docs.oracle.com/javase/specs/jvms/se7/html/)

Jikes RVM은 연구 목적으로 광범위하게 사용되는 자가 호스팅 JVM으로 Java로 작성되어 있습니다.데스크톱에서 실행되는 것은 아니지만, "이제 언어의 일반적인 힘을 뽐내자"는 목록에 올라 있습니다.

Sun에서 제공하는 핫스팟 JVM을 말하는 경우 C++로 작성됩니다.Java용 다양한 가상 시스템에 대한 자세한 내용은 이 링크를 참조하십시오. javac은 대부분의 Java 컴파일러와 마찬가지로 Java로 작성됩니다.

언급URL : https://stackoverflow.com/questions/1220914/in-which-language-are-the-java-compiler-and-jvm-written

반응형