IKVM.NET is an implementation of Java for Mono and the Microsoft .NET Framework. It includes the following components:
- A Java Virtual Machine implemented in .NET
- A .NET implementation of the Java class libraries
- Tools that enable Java and .NET interoperability
With IKVM you can run compiled Java code (bytecode) directly on Microsoft .NET or Mono. The bytecode is converted on the fly to CIL and executed.
This is in contrast to J# which is one of the four languages that are supported by Microsoft's .NET implementation. J# is a Java syntax on .NET's framework. Whereas IKVM is effectively a Java framework running on top of .NET's framework.