Visual J # (a volte noto come J #) è un insieme di strumenti di programmazione che consentono agli sviluppatori di utilizzare il linguaggio di programmazione Java per scrivere applicazioni che verranno eseguite sulla piattaforma runtime .NET di Microsoft. Sebbene Microsoft non supporti Java Virtual Machine come parte di .NET, Visual J # consente a un programmatore che abbia familiarità con o che preferisce i concetti e la sintassi del linguaggio di Java di scrivere e compilare un programma che verrà eseguito correttamente sulla piattaforma .NET Framework Common Language Runtime. Le istruzioni di origine vengono compilate in Microsoft Intermediate Language (MSIL), che è l'equivalente del bytecode Java. Un programma già compilato in bytecode Java può essere convertito in MSIL.
Con Visual J #, Microsoft include le proprie librerie di classi che sono l'equivalente delle librerie di classi di livello 1.1.4 di Java Development Kit. Visual J # supporta la funzionalità di Visual J ++ e le estensioni Microsoft. Per gli utenti di Visual J ++, Microsoft afferma che Visual J # presenta un'interfaccia familiare e sia i sistemi di sviluppo che i file di progetto possono essere utilizzati sulla stessa macchina.
Un file sorgente scritto in Visual J # avrà per impostazione predefinita il suffisso del nome file .jsl.