In .net programs, there is some kind of bootloader in the executable that launches the CLR. This bootloader is written to its own machine code, so it can be executed directly. It is followed by managed code and additional application resources, which are then accepted by the CLR to execute the .net program.
JVM, . .class, java.exe. .class java-- , . .jar - zip .class . .jar java.exe, java.exe .jar - , .doc Word.