当前位置: 技术问答>java相关
深入讨论Java效率,关心Java前途者请进
来源: 互联网 发布时间:2015-08-18
本文导语: 攻击Java之声总是不绝于耳,这些攻击或出于无知、或出于蓄谋。而我们一些Java开发者由于对Java了解不全面,也常被误导,不利于Java社区的壮大,让MS在一边偷乐。 前段时间CSDN上发了这样一篇文档:《跨平台的...
攻击Java之声总是不绝于耳,这些攻击或出于无知、或出于蓄谋。而我们一些Java开发者由于对Java了解不全面,也常被误导,不利于Java社区的壮大,让MS在一边偷乐。
前段时间CSDN上发了这样一篇文档:《跨平台的客场交锋:.NET vs. JAVA on Linux》(http://www.csdn.net/Develop/article/14%5C14577.shtm),得出.NET效率比Java高很多的结论。我在该文后面做了这样的评论:
“
作者做出这样的错误比较是出于对Java的无知。
首先我们看一下Java虚拟机的发展历史:第一代:纯解释;第二代:JIT;第三代:HotSpot,可以认为是对JIT的改良,又分为HotSpot Server和HotSpot Client。
在作者的例子中,如果采用HotSpot Server选项(即java -server ...)将使Java程序执行效率至少有三倍的提升,效率表现超过.Net的所有测试数据。
.NET的策略是单纯采用JIT,实际上只相当于Java虚拟机的第二代而已,如果从深层次考察本文的比较只能说明.NET相对于Java的落后。用大概两年前的JDK1.2.2(也是单纯采用JIT)进行本文测试的结果和.NET差不多。
”
各位有何高见,说出来大家一并探讨。
前段时间CSDN上发了这样一篇文档:《跨平台的客场交锋:.NET vs. JAVA on Linux》(http://www.csdn.net/Develop/article/14%5C14577.shtm),得出.NET效率比Java高很多的结论。我在该文后面做了这样的评论:
“
作者做出这样的错误比较是出于对Java的无知。
首先我们看一下Java虚拟机的发展历史:第一代:纯解释;第二代:JIT;第三代:HotSpot,可以认为是对JIT的改良,又分为HotSpot Server和HotSpot Client。
在作者的例子中,如果采用HotSpot Server选项(即java -server ...)将使Java程序执行效率至少有三倍的提升,效率表现超过.Net的所有测试数据。
.NET的策略是单纯采用JIT,实际上只相当于Java虚拟机的第二代而已,如果从深层次考察本文的比较只能说明.NET相对于Java的落后。用大概两年前的JDK1.2.2(也是单纯采用JIT)进行本文测试的结果和.NET差不多。
”
各位有何高见,说出来大家一并探讨。
|
同意楼上
最好还是实际试验一下,要客观公正
最好还是实际试验一下,要客观公正
|
近来学了jive的程序实现,把所有数据量不是很大(数千记录数以内)的所有记录读进内存做缓冲,用javaBean实现,结果B/S结构的程序响应速度大大提高,感觉就是本地运行的应用程序。如果用ASP,恐怕就要用COM了(C#我不会)
所以不要说语言的不是,关键是你程序的结构。
所以不要说语言的不是,关键是你程序的结构。
|
对于java除了个人的喜好,更多的是一种期望,我喜欢linux&java应该是出于对MS得比较根深蒂固的厌恶。虽然也曾经喜欢帝国时代,呵呵
BTW:java的速度的确不是问题,重要的是厂商的支持,例如oracle这样的软件巨头,我相信java未来的前景会是美好的
BTW:java的速度的确不是问题,重要的是厂商的支持,例如oracle这样的软件巨头,我相信java未来的前景会是美好的
|
对,我讨厌微软的东西,我喜欢免费的东西。
java+linux+mysql
万岁
java+linux+mysql
万岁
|
to :Tmsheng(小唐蔡) (
那是你不会用!
楼主说的很清楚,论速度,java比.NET快,可是你们好象都认为java比.NET慢似的,可笑!搞清楚是java慢还是你的操作系统过度占用资源导致慢!
谁说做java服务端的人少,其实很多jsp程序都是在unix服务器上运行的,只不过你是在windows浏览而已。反正一直到现在,我都是在unix上运行java程序,充分体现跨平台带来的快感!
微软什么东西都是学别人的,只追求界面漂亮、好用,而不追求效率,这些是为了满足那些什么都不懂的官员和初学者,有什么意思!
那是你不会用!
楼主说的很清楚,论速度,java比.NET快,可是你们好象都认为java比.NET慢似的,可笑!搞清楚是java慢还是你的操作系统过度占用资源导致慢!
谁说做java服务端的人少,其实很多jsp程序都是在unix服务器上运行的,只不过你是在windows浏览而已。反正一直到现在,我都是在unix上运行java程序,充分体现跨平台带来的快感!
微软什么东西都是学别人的,只追求界面漂亮、好用,而不追求效率,这些是为了满足那些什么都不懂的官员和初学者,有什么意思!
|
Java速度已經足夠了,瓶頸在于網絡速度
|
同意楼上的观点。
|
我不大看什么.NET,还是捧着本JAVA慢慢啃吧。
|
支持j2ee
|
在MS平台上用Java,之后拆MS的台,有趣的说法:过河拆桥
不过有点我们得承认:先进的技术总是会胜出,而落后的技术我不反对它的为了生存而作的挣扎,因为这些挣扎也就是先进技术前进的必然结果,也就是说先进技术的成熟也有一部分功劳在这些挣扎中。当然我们还不能说究竟谁是先进的技术,也许java是一门先进的技术,但不要忘了MS是一个有组织的开发团体,而且这个“有组织”其实也是一门先进的技术。
.NET我还没有怎么了解,所以我只能说这么多了。
不过有点我们得承认:先进的技术总是会胜出,而落后的技术我不反对它的为了生存而作的挣扎,因为这些挣扎也就是先进技术前进的必然结果,也就是说先进技术的成熟也有一部分功劳在这些挣扎中。当然我们还不能说究竟谁是先进的技术,也许java是一门先进的技术,但不要忘了MS是一个有组织的开发团体,而且这个“有组织”其实也是一门先进的技术。
.NET我还没有怎么了解,所以我只能说这么多了。
|
ms在企业级应用上还比较嫩!!
.net到底会怎样,还不知道,不过SUN ONE却是已经在市场上呆了一段时间了!!
.net到底会怎样,还不知道,不过SUN ONE却是已经在市场上呆了一段时间了!!
|
其实企业中有很大一部门用的不是微软平台(当然,刚上计算机的企业一般都用Windows)。如果你的公司要做产品的话,一定要考虑这些用户。
所以,跨平台是很重要的。不过,国内很多公司只做项目、不做产品,当然不用考虑跨平台。这就是为什么国内Java流行不起来,而国外很流行的一个原因。
所以,跨平台是很重要的。不过,国内很多公司只做项目、不做产品,当然不用考虑跨平台。这就是为什么国内Java流行不起来,而国外很流行的一个原因。
|
前边的朋友说java跑在ms的比其它平台多?不是吧,你认为作为商业用途的server都还会用ms平台嘛? 我们公司里4、5台运行服务器,2台测试服务器全部是unix的,java组没有一台ms平台服务器,除了开发代码的客户端是windows(因为还有平时的其它用途嘛),更有甚之有位仁兄简直就直接装linux来开发.......
其实说出上面话的人多数肯定应该是用JB开发的,用文档文件开发的人肯定不会介意在linux或者unix下面开发嘛,哈哈
其实说出上面话的人多数肯定应该是用JB开发的,用文档文件开发的人肯定不会介意在linux或者unix下面开发嘛,哈哈
|
哈哈,支持ericsome,如果用了JB就觉得java慢了,那也太。。。。
|
龙舞九天所言及是,可惜行外人太多啊