from - remove tags c#




Какова эквивалентная JVM в C#? (2)

Для запуска приложений на C # необходимо иметь Common Language Runtime (CLR).

JVM требуется для запуска Java-приложения.

Я хотел знать, есть ли эквивалент в C #?

Если да, что это?


Нет .NET, эквивалентного JVM, потому что .NET не работает внутри виртуализированной песочницы, как Java.

Java: Source> Java Bytecode> Интерпретируется JVM, скомпилированным для конкретной платформы.

.NET: Source> MSIL> Компилируется в собственный код при первом выполнении сборки MSIL.

Таким образом, код .NET может быть скомпилирован в MSIL, перемещен на другую архитектуру компьютера, и до тех пор, пока что-то (например, Mono) сможет прочитать этот MSIL и скомпилировать в машинный код, он будет работать. В Java код всегда будет выполняться в песочнице внутри JVM.

Java и .NET имеют схожие архитектуры, но они также сильно отличаются в других отношениях. В этом случае Java устраняет зависимость от платформы, определяя единую универсальную виртуальную платформу, на которой работает весь код Java, тогда как .NET вместо этого определяет свой язык и библиотеки как независимые от платформы.

С Java единственными людьми, которые могут законно предлагать JVM на конкретной платформе, является Oracle / Sun / Java. С помощью .NET любой может решить реализовать версию CLR по частям или полностью на данной платформе.





java