tags:

views:

67

answers:

3

Please can anyone tell me the difference between JVM and MSIL?

+5  A: 

JVM is the Java Virtual Machine, the virtual machine on the Java platform which executes Java bytecode.

MSIL is the Microsoft Intermediate Language, which is currently called the Common Intermediate Language (CIL), are the "lowest-level human readable" instructions which is bytecode that is run on the Common Language Runtime (CLR), the virtual machine on the .NET platform.

The JVM and MSIL is not an apples to apples comparison, because one is a virtual machine, and the other is instructions that runs on a virtual machine.

coobird
+2  A: 

The JVM and MSIL are actually not a good comparison. MSIL is the intermediate language that all .NET code compiles down to. The .NET runtime just-in-time compiles the IL into code that can execute on the machine.

MSIL is comparable to Java bytecode. The Java Virtual Machine (JVM) executes the bytecode in a similar fashion to MSIL on the .NET runtime. The JVM compiles the Java bytecode down to code that can execute on the machine.

Andy White
A: 

You really need to read a full length article to get a good answer. And you probably need to clarify if you want a discussion about Java bytecode vs MSIL or the Sun JVM vs the CLR. This should help.link text

Jeff Meatball Yang