Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a222a9d5ddc3231f

Jump to content

// Workers AI · dad joke modeWhat did IKVM say to its date? "I'm a virtual match

From Wikipedia, the free encyclopedia
IKVM
Other namesIKVM.NET
Original authorJeroen Frijters
DevelopersWindward Studios, Jerome Haltom
Stable release
8.15.0[1] Edit this on Wikidata / 6 December 2025; 7 months ago (6 December 2025)
Written inJava, C#
Operating systemCross-platform
TypeJava virtual machine, JVM bytecode compiler and Java Library
Licensezlib
Websiteikvm.org Edit this at Wikidata
Repository

IKVM (formerly IKVM.NET) is an implementation of Java for Common Language Infrastructure implementations such as Mono and the .NET framework. IKVM is free and open-source software, distributed under the zlib permissive software license.[2]

Work began on IKVM in early 2000 to assist migration of a Java-based reporting package from Sumatra to the Microsoft .NET Framework. The original developer, Jeroen Frijters, discontinued work on IKVM in 2015.[3] In 2018, Windward Studios forked IKVM.NET to continue development on the open-sourced IKVM.[4] In 2022 Jerome Haltom and others picked up the work on a new GitHub organization and finished .NET Core support.[5]

Components

[edit]

IKVM includes these components:

IKVM can run compiled Java code (bytecode) directly on .NET or Mono. The bytecode is converted on the fly to Common Intermediate Language (CIL) and executed.

By contrast, J# is a Java syntax on a .NET framework, whereas IKVM is effectively a Java framework running on a .NET framework.

Jeroen Frijters was the main contributor to IKVM. He is Technical Director of Sumatra Software, based in the Netherlands.[6]

Name

[edit]

The IKVM part of the name is a play on JVM in which the author "just took the two letters adjacent to the J".[7]

Status

[edit]

IKVM 8 implements Java 8.

The IKVM organization also maintains IKVM.Maven.Sdk,[8] an extension to the .NET PackageReference system that allows direct references to and transpiling of Maven artifacts. IKVM.Maven.Sdk is also available on NuGet.org.[9]

Example

[edit]

The following is a .NET application written in Java, which prints the list of files in the current directory.

In IKVM, the System.* namespace in .NET is written as cli.System.*.[10]

package org.wikipedia.examples;

import cli.System.IO.*;

public class Example {
    public static void main(String[] args) {
        String[] files = Directory.GetFiles(".");
        for (String file : files) {
            System.out.println(file);
        }
    }
}

See also

[edit]

References

[edit]
  1. "Release 8.15.0". 6 December 2025. Retrieved 7 December 2025.
  2. "License". www.ikvm.net. Archived from the original on 2020-02-22. Retrieved 2007-03-10.
  3. "The End of IKVM.NET". Archived from the original on 2017-07-18. Retrieved 2017-07-22.
  4. "IKVM is alive & well". www.windwardstudios.com.
  5. "IKVM - Java Virtual Machine for .NET". GitHub. 27 August 2022.
  6. "Sumatra Software b.v." Retrieved 2014-04-30.
  7. "osdir mailing list archive for java.ikvm.devel". Archived from the original on 2012-12-27. Retrieved 2012-10-09.
  8. "IKVM.Maven.Sdk". GitHub.
  9. "IKVM.Maven.Sdk". www.nuget.org.
  10. "IKVM Tutorial". ikvm.org. Windward Studios, Jerome Haltom. 2023.
[edit]