In which language are the Java compiler and JVM written?

后端 未结 9 1742
南旧
南旧 2020-11-28 00:28

In which languages are the Java compiler (javac), the virtual machine (JVM) and the java starter written?

相关标签:
9条回答
  • 2020-11-28 01:01

    The precise phrasing of the question is slightly misleading: it is not "the JVM" or "the compiler" as there are multiple JVM vendors (jrockit is one, IBM another) and multiple compilers out there.

    • The Sun JVM is written in C, although this need not be the case - the JVM as it runs on your machine is a platform-dependent executable and hence could have been originally written in any language. For example, the original IBM JVM was written in Smalltalk

    • The Java libraries (java.lang, java.util etc, often referred to as the Java API) are themselves written in Java, although methods marked as native will have been written in C or C++.

    • I believe that the Java compiler provided by Sun is also written in Java. (Although again, there are multiple compilers out there)

    0 讨论(0)
  • 2020-11-28 01:01

    In principle almost anything, usually C

    0 讨论(0)
  • 2020-11-28 01:03

    This link should answer your question

    It seems the compiler is now written in Java, but the runtime is written in ANSI C

    0 讨论(0)
  • 2020-11-28 01:03

    Supposing you're talking about the Hotspot JVM, which is iirc provided by Sun, it is written in C++. For more info on the various virtual machines for Java, you can check this link. javac, like most Java compilers, is written in Java.

    0 讨论(0)
  • 2020-11-28 01:05
    • When Java is introduced by Sun Microsystem, the java compiler was written in C using some libraries from C++.
    • As There is a concept in Compiler Design called Bootstapping, Mostly it is used in Compiler Development, Bootstrapping is the process of writing a compiler(Or Assembler) In the source programming language which it is intended to compile. It is used to produce a self-hosting compiler. The development of compilers for new Programming languages first developed in an existing langauge and then rewritten in the new language and compiled by itself. That's why today, Java compiler is written in Java itself.
    • Java Virtual Machine: Java virtual machine is an abstract machine. Like a real computing machine, It has an instruction set and manipulates various memory areas of run time.Usually JVM interprets the byte code into Machine code.

    (For More Information You can check this link : https://docs.oracle.com/javase/specs/jvms/se7/html/)

    0 讨论(0)
  • 2020-11-28 01:06

    From Java Docs

    The compiler is written in Java and the runtime is written in ANSI C

    0 讨论(0)
提交回复
热议问题