.net framework和Java虚拟机有什么不同?

fervour 2010-01-25 02:25:21
.net framework是一个开发平台,能支持多语言。例如c#,先编译为中间语言,然后又CLR(公共语言运行时)将IL编译为平台专用代码。
那么Java虚拟机呢?
...全文
807 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wood87654321 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chrisak 的回复:]

别54java的hotspot...
[/Quote]

这个嘛,至少在设计之处双方的定位就是那样的,但大家都被迫不断发展完善着,hotspot对CLR说:别以为就你能编译;Mono也对Java说:别以为就你会跨平台
ChrisAK 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wood87654321 的回复:]
你要比较的应是.Net CLR与Java虚拟机的不同,我觉得它们针对的都是中间代码,本质的不同在于运行时处理中间码的方式一个是解释,另一个则为编译。Java虚拟机事实上应是Java中间码解释器,也就是说Java程序中代码最终是由虚拟机解释执行的,而.Net CLR则是通过将.Net程序中间语言编译转换成原始机械码运行的
[/Quote]别54java的hotspot...
ChrisAK 2010-01-25
  • 打赏
  • 举报
回复
x86和mips的区别
wood87654321 2010-01-25
  • 打赏
  • 举报
回复
你要比较的应是.Net CLR与Java虚拟机的不同,我觉得它们针对的都是中间代码,本质的不同在于运行时处理中间码的方式一个是解释,另一个则为编译。Java虚拟机事实上应是Java中间码解释器,也就是说Java程序中代码最终是由虚拟机解释执行的,而.Net CLR则是通过将.Net程序中间语言编译转换成原始机械码运行的
sxmonsy 2010-01-25
  • 打赏
  • 举报
回复
百度大叔:http://baike.baidu.com/view/374952.htm
鸭梨山大帝 2010-01-25
  • 打赏
  • 举报
回复
Java虚拟机:将源码编译为ByteCode
C/C++编译器把源代码编译成汇编代码,Java编译器把Java源代码编译成字节码bytecode。
Java跨平台其实就是基于相同的bytecode规范做不同平台的虚拟机,Java程序编译成bytecode后就可以在不同平台跑了。
.net框架有IL(intermediate language),汇编是C/C++程序的中间表达方式,而bytecode可以说是Java平台的中间语言。

出处:http://azi.javaeye.com/blog/207685
jcx396158820 2010-01-25
  • 打赏
  • 举报
回复
Java虚拟机由五个部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收集堆(Garbage-collected-heap)、一个方法区域。这五部分是Java虚拟机的逻辑成份,不依赖任何实现技术或组织方式,但它们的功能必须在真实机器上以某种方式实现。
http://baike.baidu.com/view/374952.htm
mzjmicrosoft 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sxmonsy 的回复:]
百度大叔:http://baike.baidu.com/view/374952.htm
[/Quote]

谷歌大伯:http://oss.org.cn/ossdocs/vm/jvm.html

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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