原来.net 也有虚拟机,而且是跨平台的

SoulRed 2018-03-17 12:27:34
一直以为.net比JAVA少了个类似JVM的东西。直到看了官方文档
https://docs.microsoft.com/zh-cn/dotnet/standard/glossary
CLR
公共语言运行时。
确切含义取决于上下文,但它通常指 .NET Framework 的运行时。 CLR 处理内存分配和管理。 CLR 也是一个虚拟机,不仅可执行应用,还可使用 JIT 编译器快速生成和编译代码。 当前的 Microsoft CLR 实现仅限 Windows。
CoreCLR
.NET Core 公共语言运行时。
此 CLR 是采用与 CLR 相同的基本代码生成的。 最初,CoreCLR 是 Silverlight 的运行时,专为在多个平台(特别是 Windows 和 OS X)上运行而开发。CoreCLR 现属于 .NET Core 并表示 CLR 的简化版本。 它仍是跨平台运行时,现包括针对许多 Linux 分发的支持。 CoreCLR 也是具有 JIT 和代码执行功能的虚拟机。
...全文
2187 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
圣殿骑士18 2018-03-18
  • 打赏
  • 举报
回复
可能你还是少了系统性学习,光找文章看得到的只是也必然是支离破碎的,这也是我不喜欢很多人拷贝博客园方案的原因,就是学个样子。 你可能需要找几本.net高级编程方面的书,系统性的看一看。
threenewbee 2018-03-18
  • 打赏
  • 举报
回复
看你怎么定义“虚拟机”这个词了。但是运行时(CLR)比虚拟机(VM)是更直白地说法。起码从商业的角度来说,虚拟机是一个被微软回避的词,因为很多人会觉得虚拟机是运行缓慢的。而且2000年前后,是微软和sun官司胶着的时候,C#本身就是微软和sun闹僵,微软放弃了visual j++以后另起炉灶的东西。
foxqd 2018-03-18
  • 打赏
  • 举报
回复
CLR与JVM的区别还是蛮大的。
橘子皮... 2018-03-18
  • 打赏
  • 举报
回复
微软就是老搞一个东西,突然又放弃
xuzuning 2018-03-17
  • 打赏
  • 举报
回复
JVM 确实是 Java 跨平台的利器,几乎成了跨平台的唯一标准 其实你前两天讨论的 .NET Core 也就是微软版的 JVM,虽然比较幼稚
  • 打赏
  • 举报
回复
诺基亚死得莫名其妙,微软也差点死掉了,都是类似原因:董事会选择一个三流销售员当了大老板,而不是产品架构师执掌软件公司。
  • 打赏
  • 举报
回复
2006年前微软 .net 平台非常牛x,也很激进。可惜被鲍尔默给搞死了,他对 微软的各种创新“这也放弃、那也放弃”,他只保 windows 7开发,像 silverlight、以及早期的 WinPhone 等等当时被微软放弃得莫名其妙。反正是微软自己主动选择放弃的。

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧