欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

也谈什么时候Java比C++快

程序员文章站 2022-05-21 11:26:36
...

 

刚打开iteye就看到这个标题“Java什么时候比C++快”,觉得很好笑。

 

你要比,就比同等水平的基础上的相比,笨蛋写得C代码和C++代码,去和高手写的Java代码比效率,有什么意义呢?

 

我是写密码算法的,深刻知道算法C和C++实现和Java实现之间的效率差,甚至也比对过C代码和汇编代码的效率差,计算机是个死的东西,再怎么优化,Java也就是和C效率相当,也没有见过超越C的(是否能超越C++?)因为Java上的优化,C和C++也可以照做。

 

Java是成也GC,败也GC,不担心内存泄露是好事,但是大量垃圾不能及时回收,或回收大量垃圾带来的卡顿非常糟糕,这都是见仁见智的一些点。

 

但是存在一种场景,就是一个软件、一个程序中,计算不是最主要的效率影响因素,很大部分的运行时间消耗在网络IO、磁盘存取、人机交互等等地方,这样的情况下,Java实现和C/C++实现,总体效率是差不多的,因为再快的计算也被这些环节抹平了。这时候,Java易上手的优势就体现出来了。这才是Java的优势。

 

Java的优势在于OO,面向对象的分析和设计,以接近人类的理解模式和思考模式来设计程序。运行效率不是Java的首要目的。在提供了大量好用的API和拥有大量的开源组件后,在”一次编译,到处运行“这一目标大致实现后,开发效率比运行效率更加吸引人们的注意力。

 

 

相关标签: java C++