码迷,mamicode.com
首页 > 编程语言 > 详细

关于长期以来Java性能方面的说辞的辟谣

时间:2015-04-17 15:44:51      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:java性能

网上有很多文章通过分析来说明Java的性能优化的好的话是不输C++的,还有一些是通过一些实际的代码测试来说明,不过在一些测试中明显是作弊了

本文不打算用长篇大论来论述,只是简单的说明一些真相


技术分享为什么很少有人怀疑C/C++ 的效率,为什么被怀疑的总是Java,为什么怀疑Python,PHP等脚本的人也不多?

    Java不会做人,所为做人留一线,见后好xx。Java总是想要自己很完美,任何领域都想插一脚,做为一个完美的语言,性能上怎么能落后呢,这多没面子,于是发生了可笑的事情,总是想证明在性能上跟C/C++在一个级别上,而且每个个版本更新都会说性能有了很大的提升,提升了这么多年,结果呢?只能用一些作弊方式哄骗一些不明真想的围观群众


技术分享GC是Java性能的主要问题

    其实真相应该是反过来的,不是GC影响了Java的性能,而是Java败坏了GC的名声,GC和malloc/free 都是动态内存管理的方法,申请内存的操作基本上是一样,不同的是选择释放的时机问题,通常GC的释放动作自动触发的,但实现上并没有禁止手动触发,只是一些语言拒绝这么做,全自动的内存管理一定做不到最优,全手动的可以有机会做到最优,很多时候半自动才是更好的选择。这里并不想详细讨论GC的实现,只是想客观的指出应该正确的认识GC,更多关于GC的内容请参考:http://www.iecc.com/gclist/GC-faq.html


技术分享JIT就可以达到和C/C++一样的速度

    只能说JIT可以提高Java的速度,但不表示JIT就可以达到和C/C++一样的速度,理由很简单,编译型的语言也不是只有C/C++,都没有说能达到C/C++的速度,实际上这是鱼与熊掌不能兼得的问题,对于C语言的效率是在第一位的,为了效率可以放弃很多高级特性,而其它语言则是为了特性可以损失性能,这才是根本问题


技术分享Java的流行度证明Java语言足够好

    语言流行的原因很多,实际情况是语言是不是足够好并不是影响流行度最大的原因,而是商业公司的支持,利益驱动下的结果,所以流行度不是评价语言好坏的标准,而是一个参考值


技术分享一次编译到处运行是Java最大的有点

    那对于脚本来说,一次编写就到处运行又怎么说,而且没有哪个脚本会说这是它的优势,为什么Java却能把这个拿出来说事儿呢,而很多人的实际情况是一次编写到处调试


技术分享Java继承C++的优点,也抛弃了C++的一些弊端

    我只能说C++最大的优点是有着仅次于C语言的性能,有着C一样的平台操控能力,几乎无缝的兼容C(这点有争议,其实这也是C++的历史包袱),这才是C++的竞争力所在,Java一点都没继承到,只是在语言特性上做了些文章,论这个,Python,Ruby等语言可能更让人认可


技术分享Java是简单的

    这是Java问世以来就有的一句话,而且还经常被一些书引用,只能说Java比C++简单,但是不表示比C++简单就叫简单,因为还没有哪个语言说比C++还难


技术分享暂时写这么多,还有哪些希望大家补充

最后:Java总是喜欢和C++比,其实没有可比性,从语法上,能认可C++的语法设计好的人不多,从这点上跟C++比语法不能证明语法设计好。领域不同,C++是系统编程语言,C/C++是技术与性能的代名词(性能本来就是它的重要的目标之一,而C/C++使用者被要求必须了解平台相关的技术才能很好的使用),而Java是应用层语言,是理想主意的代名词(硬件可以提升性能,平台技术无需深入了解,理论上jvm可以提供一切,java什么都能做)

关于长期以来Java性能方面的说辞的辟谣

标签:java性能

原文地址:http://blog.csdn.net/jasonlu888/article/details/45096861

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!