为什么java比c#运行慢,不都是(java的字节码,c#的IL)运行在“虚拟机”(JVM,CLR)上的吗?还是这种说本身就没有道理?

WYhack 2011-03-14 02:07:49
为什么java比c#运行慢,不都是(java的字节码,c#的IL)运行在“虚拟机”(JVM,CLR)上的吗?

还是这种说本身就没有道理?

如题,大家讨论一下(总是听某些人说java慢,理由就是运行在虚拟机上,虚拟机又运行在操作系统上,但是C#不一样吗?)。谢谢

...全文
482 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
vrhero 2011-03-14
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 problc 的回复:]
桌面的话,java根本就没什么兴趣优化。
后台应用,java没觉得比.net慢。
[/Quote]
没什么兴趣?呵呵...这话听着好大酸味儿啊...

当年JavaApplet风靡全球的时候,当年Windows预装JVM的时候,可是兴趣大得很啊...可以说没有JavaApplet就没有Java的今天,可是Sun跟微软分赃不均得罪了微软,JavaApplet迅速就消失了...如今借着Android的东风JavaApplet总算复活了...

可是最后一看,Java是Oracle的了,服务器组件是IBM的天下,JavaApplet变成Google的工具了,还有一大堆东西是Apache的...就这样大家还在为了商业利益各怀鬼胎...其实就是7楼说的那句话,“ms比一个个有标准但无组织、无纪律的开源平台NB”...

开源世界看起来很高尚很单纯,但是商业世界很残酷很现实...充满理想化的一盘散沙的开源社区永远敌不过微软这种市场为导向的商业帝国...虽然很悲哀,但是没有人能改变...

ps:还有什么“java一次编译,到处运行”的鬼话...微软是担心unix/linux的威胁,OS才是它的根本,否则真想搞以微软的能力,小小一个CLR全世界没有哪个OS它搞不定,早就把Java搞死了...
problc 2011-03-14
  • 打赏
  • 举报
回复
桌面的话,java根本就没什么兴趣优化。
后台应用,java没觉得比.net慢。
t_stones 2011-03-14
  • 打赏
  • 举报
回复
各有好处,java就是一次编译,到处运行,运行在服务器上挺好的,这样便于部署,所以对服务器的性能都有很高要求,一般人用不到

.net语言开发效率高,便于快速实施项目

反正半斤八两,各有侧重
戒指 2011-03-14
  • 打赏
  • 举报
回复
学习~
加油馒头 2011-03-14
  • 打赏
  • 举报
回复
可能就是这个原因吧

系统的支持不一样
diecode 2011-03-14
  • 打赏
  • 举报
回复
java与c#的区别有点《《类似于》》解释型和编译型的区别

这样解释应该比较好理解点
  • 打赏
  • 举报
回复
跟操作系统,硬件配置有关吧
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 vrhero 的回复:]
没有绝对的事儿,快慢要看环境和内容...但是Windows平台UI这一块Java肯定不是对手,虽然都是虚拟机,但CLR跟OS是自家人,自家人有的是后门走...JVM呢,微软早就不提供支持了,Sun的JVM实际上跟普通的C++程序没啥区别,都是第三方...第三方跟第二方怎么比?没得玩儿...

另外可能他们也知道UI没法跟微软玩儿,一直停滞不前...反观.NET,WPF不论策略还是实现都是划时代……
[/Quote]
有道理,我也是这么认为的~
WYhack 2011-03-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fangxinggood 的回复:]
随着mono的普及,你会看到越来越多的非windows系统上运行.net的。
[/Quote]

那么别的平台会给.net程序与操作系统的接口留后台吗?
assiwe 2011-03-14
  • 打赏
  • 举报
回复
有些代码java慢 有些代码.net慢 其实都半斤八两.

你看看微软的广告 ,MSSQL的速度比Oracle快个百八十倍.
你再看甲骨文的, Oracle速度比MSSQL快上十万八千里
hiboys 2011-03-14
  • 打赏
  • 举报
回复
个人认为ms比sun历害造成的,或者说是ms比一个个有标准但无组织、无纪律的开源平台NB
机器人 2011-03-14
  • 打赏
  • 举报
回复
随着mono的普及,你会看到越来越多的非windows系统上运行.net的。
jimh 2011-03-14
  • 打赏
  • 举报
回复
系统支持,.net 运行时的动态编译的机器码是有缓存的,也就是第一次运行时编译一下,以后就相当于机器码直接运行了,java就无法这样做了,从这方面看Java是慢了不少,
不过,java的跨平台能力比.net好多了,至少我们还没有看到.net在非windows系统上跑的顺。
kamengwang 2011-03-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 vrhero 的回复:]
没有绝对的事儿,快慢要看环境和内容...但是Windows平台UI这一块Java肯定不是对手,虽然都是虚拟机,但CLR跟OS是自家人,自家人有的是后门走...JVM呢,微软早就不提供支持了,Sun的JVM实际上跟普通的C++程序没啥区别,都是第三方...第三方跟第二方怎么比?没得玩儿...

另外可能他们也知道UI没法跟微软玩儿,一直停滞不前...反观.NET,WPF不论策略还是实现都是划时代……
[/Quote]

这个我还是比较赞同的,在自己地里种庄稼,肯定勤浇水啊,呵呵...
WYhack 2011-03-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 vrhero 的回复:]
没有绝对的事儿,快慢要看环境和内容...但是Windows平台UI这一块Java肯定不是对手,虽然都是虚拟机,但CLR跟OS是自家人,自家人有的是后门走...JVM呢,微软早就不提供支持了,Sun的JVM实际上跟普通的C++程序没啥区别,都是第三方...第三方跟第二方怎么比?没得玩儿...

另外可能他们也知道UI没法跟微软玩儿,一直停滞不前...反观.NET,WPF不论策略还是实现都是划时代……
[/Quote]


说来说去是操作系统的问题,有道理,谢谢!
vrhero 2011-03-14
  • 打赏
  • 举报
回复
没有绝对的事儿,快慢要看环境和内容...但是Windows平台UI这一块Java肯定不是对手,虽然都是虚拟机,但CLR跟OS是自家人,自家人有的是后门走...JVM呢,微软早就不提供支持了,Sun的JVM实际上跟普通的C++程序没啥区别,都是第三方...第三方跟第二方怎么比?没得玩儿...

另外可能他们也知道UI没法跟微软玩儿,一直停滞不前...反观.NET,WPF不论策略还是实现都是划时代的,落后就要挨打,Java的UI是没指望了...至于Silverlight,Java根本没有与之抗衡的东西...
yyz985 2011-03-14
  • 打赏
  • 举报
回复
个人认为Java虚拟机的机制和优化没有.NET虚拟机的好

110,536

社区成员

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

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

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