answersLogoWhite

0

Instead of compiling to machine language, the Java compiler compiles for a "ficticious processor". A program called the Java Virtual Machine then interprets this on every machine.

Note that Java is NOT an interpreted language. It is solely a compiled language. Java source code is always run through a compiler (typically 'javac') to be turned into bytecode. This is identical behavior as any other compiled language. The confusion is that Java bytecode is usually run on a Java Virtual Machine, which itself may both act as an interpreter and a compiler for the native instruction set the JVM runs on. However, the Java language itself is NOT dependent on how this bytecode is run - in fact, it is possible (and has been done) to build a hardware machine that runs Java bytecode directly.

User Avatar

Wiki User

12y ago

What else can I help you with?

Continue Learning about Engineering

Why java interpreted?

Java is both compiled and interpreted. At first, the Java source code (in .java files) is compiled into the so-called Bytecode (.class files). The Bytecode is a pre-compiled, platform independent version of your program. The .class files can be used on any operating system. When the Java application is started, the Bytecode is interpreted by the Java Virtual Mashine. Because the Bytecode is pre-compiled, Java does not have the disadvantages of classical interpreted languages, like BASIC.


Which programming language is compiler type and which is interpreter type?

Although most languages are either compiled or interpreted, there's actually nothing to prevent you interpreting a language that is normally compiled, or compiling a language that is normally interpreted. BASIC, for instance, is traditionally an interpreted language, however modern implementations use compilation. Moreover, Java is typical of many modern languages that natively use both techniques by default, compiling the high-level source code into an intermediate byte code which is than interpreted to produce the machine code. But, with a suitable compiler implementation, it is possible to produce native machine code programs from Java source code. When we speak of compiled or interpreted languages we're usually referring to the language's standard, if it has one. C and C++ are standardised and both are compiled, but there's nothing to prevent them from being interpreted. BASIC, on the other hand, is non-standard because it has such a wide-variety of variants, some of which are interpreted, some of which compile to byte code (which is then interpreted) and some of which compile to native machine code. Non-standard languages are generally non-portable therefore you have to look at the specific implementation to determine if it is compiled, interpreted, or both compiled and interpreted.


Executon steps in java?

First of all the compiler converts our source code into byte code ,this is done by "javac" compiler.then we use interpretor that is the"java interpretor" for making our byte code executed.thats y java is called as an compiled and interpred language.by that way our java program will be interpreted. First of all our source code vl b converted into byte code by da java compiler named "javac" ,then dt byte code vl be executed by da interpretor named "java" interpretor. These are execution steps in java dts y v call java as a compiled and interpreted language.


Is C compiled or interpreted?

Assembler, COBOL, PL/I, C/C++ are all translated by running the source code through a compiler. This results in very efficient code that can be executed any number of times. The overhead for the translation is incurred just once, when the source is compiled; thereafter, it need only be loaded and executed. Interpreted languages, in contrast, must be parsed, interpreted, and executed each time the program is run, thereby greatly adding to the cost of running the program. For this reason, interpreted programs are usually less efficient than compiled programs. Some programming languages, such as REXX™ and Java™, can be either interpreted or compiled.


Is java a popular programming language?

No, the Java is not machine language. Java is a high-level programming language that compiles to byte code suitable for interpretation into machine code by the Java virtual machine. In other words, you program the virtual machine rather than the physical machine. Once compiled, the byte code can be executed upon any machine with a Java virtual machine implementation.

Related Questions

Is groovy an interpreted language?

Yes, Groovy is primarily an interpreted language. It is often run on the Java Virtual Machine (JVM) and is compiled to bytecode at runtime. This makes Groovy a dynamic language with scripting capabilities.


Why java interpreted?

Java is both compiled and interpreted. At first, the Java source code (in .java files) is compiled into the so-called Bytecode (.class files). The Bytecode is a pre-compiled, platform independent version of your program. The .class files can be used on any operating system. When the Java application is started, the Bytecode is interpreted by the Java Virtual Mashine. Because the Bytecode is pre-compiled, Java does not have the disadvantages of classical interpreted languages, like BASIC.


What in computing is java?

Java is a computer programming language. Java programs can be interpreted (the computer compiles and runs the program as the code is executed) or it can be pre-compiled into bytecode (the computer doesn't have to compile it as soon as it is run, so time is saved.)


Which programming language is compiler type and which is interpreter type?

Although most languages are either compiled or interpreted, there's actually nothing to prevent you interpreting a language that is normally compiled, or compiling a language that is normally interpreted. BASIC, for instance, is traditionally an interpreted language, however modern implementations use compilation. Moreover, Java is typical of many modern languages that natively use both techniques by default, compiling the high-level source code into an intermediate byte code which is than interpreted to produce the machine code. But, with a suitable compiler implementation, it is possible to produce native machine code programs from Java source code. When we speak of compiled or interpreted languages we're usually referring to the language's standard, if it has one. C and C++ are standardised and both are compiled, but there's nothing to prevent them from being interpreted. BASIC, on the other hand, is non-standard because it has such a wide-variety of variants, some of which are interpreted, some of which compile to byte code (which is then interpreted) and some of which compile to native machine code. Non-standard languages are generally non-portable therefore you have to look at the specific implementation to determine if it is compiled, interpreted, or both compiled and interpreted.


WHO convert high level program in to machine language programs?

Nobody. Conversion from high-level encoding to low-level encoding is achieved via software, either by a compiler (compiled languages) or by an interpreter (interpreted languages). Some languages, such as Java, use both; compiling to Java byte code which is then interpreted by the Java virtual machine.


Executon steps in java?

First of all the compiler converts our source code into byte code ,this is done by "javac" compiler.then we use interpretor that is the"java interpretor" for making our byte code executed.thats y java is called as an compiled and interpred language.by that way our java program will be interpreted. First of all our source code vl b converted into byte code by da java compiler named "javac" ,then dt byte code vl be executed by da interpretor named "java" interpretor. These are execution steps in java dts y v call java as a compiled and interpreted language.


Is C compiled or interpreted?

Assembler, COBOL, PL/I, C/C++ are all translated by running the source code through a compiler. This results in very efficient code that can be executed any number of times. The overhead for the translation is incurred just once, when the source is compiled; thereafter, it need only be loaded and executed. Interpreted languages, in contrast, must be parsed, interpreted, and executed each time the program is run, thereby greatly adding to the cost of running the program. For this reason, interpreted programs are usually less efficient than compiled programs. Some programming languages, such as REXX™ and Java™, can be either interpreted or compiled.


Where is a program temporally stored for execution?

All programs must be loaded into memory (e.g., RAM) in order to be executed. Compiled programs can be loaded directly since they consist of native machine instructions, but interpreted programs must be translated by a runtime program. E.g., Java is an interpreted language which compiles to byte code which must be interpreted by the Java Virtual Machine implementation at runtime.


Why 2 files in java program?

There are programming languages in which the source file is read and interpreted directly, but those are usually slower than when the program is compiled, to an EXE, or as in Java, for a virtual machine.


Is java a popular programming language?

No, the Java is not machine language. Java is a high-level programming language that compiles to byte code suitable for interpretation into machine code by the Java virtual machine. In other words, you program the virtual machine rather than the physical machine. Once compiled, the byte code can be executed upon any machine with a Java virtual machine implementation.


What is meant by java run time program?

Java is a semi compiled programming language. This means that when the program is written it is compiled into BinCode which is machine independent. When it arrives at your computer is is then compiled using the components of the Java runtime into code which can be executed on your computer (usually displayed in your browser). The Java runtime is the collection of library files compiler and virtual machine to make this possible.


How does VM code compiler works?

The Java virtual machine is not a compiler, it is an interpreter which primarily performs runtime-translation of Java byte code (the native language of the Java virtual machine) to machine-code (the native language of the physical machine). The Java compiler, on the other hand, is a separate program used to perform compile-time conversion of high-level Java source code to the lower level byte code. Java byte code is highly portable; once compiled, any architecture or platform that implements a JVM can execute the byte code without modification.