Visual J# (sometimes known as just J#) is a set of programmming tools that allow developers to use the Java programming language to write applications that will run on Microsoft's .NET runtime platform. While Microsoft does not support the Java Virtual Machine as part of .NET, Visual J# allows a programmer familiar with or who prefers Java's concepts and language syntax to write and compile a program that will run successfully on the .NET Framework Common Language Runtime platform. The source statements are compiled into Microsoft Intermediate Language (MSIL), which is the equivalent of Java bytecode. A program already compiled into Java bytecode can be converted into MSIL.
With Visual J#, Microsoft includes their own class libraries that are the equivalent of the Java Development Kit level 1.1.4 class libraries. Visual J# supports the functionality of Visual J++ and Microsoft extensions. For Visual J++ users, Microsoft says that Visual J# presents a familiar interface and both development systems and project files can be used on the same machine.
A source file written in Visual J# will by default have the file name suffix .jsl.