蓉杠学习网

c语言 j***a 速度,j***a c++速度

大家好,今天小编关注到一个比较意思的话题,就是关于c语言 java 速度问题,于是小编就整理了3个相关介绍c语言 Java 速度的解答,让我们一起看看吧。

  1. 现在java的执行速度和c++相比谁快?你怎么看?
  2. 不同的编程语言都打包成exe执行,速度是不是都一样?为什么?
  3. 哪个java ide速度最快?

现在JAVA执行速度和c++相比谁快?你怎么看?

理论上一样快,有时候cpp快,有时候j***a快。

注意,我说的可不是“J***a一定比C++快”这种公认荒谬的神论,如果你不知道什么叫“有时”,那么请直接离开这个回答,因为你没资格继续看。

c语言 java 速度,java c++速度div>
图片来源网络,侵删)

我估计有人肯定听了就不乐意了,什么?j***a一定比cpp慢才对,因为j***a是用虚拟运行,虚拟机是c/cpp写的,所以可以得出j***a一定比cpp慢!

然而不是,因为j***a不是脚本语言。再次重申,j***a不是脚本语言!而上面提到的思维明显是把j***a当成脚本语言对待了。虚拟机本质上仍然是提供虚拟硬件,有一套自己处理指令集,不然你以为还要编译一遍是为了保密?另一个证明是,j***a真的能直接运行在硬件上(有虚拟机,那就一定能造出真机嘛),注意,是真的是直接运行在硬件上而不是什么用硬件集成一套其他语言编写的运行环境再运行。以前有过这种芯片,可惜推出之后没什么市场,最终也就消失在历史中了。不过这已经能证明j***a是基于硬件指令操作而不是基于什么其他高级语言翻译再操作的根本性质了。

有本事你给js或是其他什么脚本语言也造个真机出来?

c语言 java 速度,java c++速度
(图片来源网络,侵删)

正是因为这一特性,导致了j***a可以比c++更快。举个最容易理解的例子,c++创建一个对象需要4走个真正的cpu指令,而j***a只需要走1个虚拟机cpu指令。那么,1个虚拟机cpu指令需要用4个真正的cpu指令运行么,显然不需要。

如果看到这,你还是不相信j***a可以比cpp快的,甚至还想在下面留言用各种已经解释了可你还是理解不了的想法来反驳,那这里直接给你做一个随手就能来一个的例子。下面,就分别用cpp和j***a创建一百万个功能完全相同的对象,来测试执行耗时。

测试环境是MacBook pro2016款,jdk1.8.0-131,g++为4.2.1系统自带,clang为10.0.1(更适合编译未经优化代码),那么结果如何呢?

c语言 java 速度,java c++速度
(图片来源网络,侵删)

首先登场的是c++,测试代码如下。可以看出都是最基本的操作,哪怕是初学者都能轻松看懂:

随着硬件设备的***低。jvm优化。j***a已经无限接近cpp。但是cpp却没有j***a这么完善的框架开源库。移植性又差。入门还是j***a会比较舒服。后面去研究c+还是不错的。可以在某些j***a优化无法做到的情况下。做一个补全

从语言本身来说,当然还是c/c++性能好,但现在也分场景,看从哪个角度说。比如C/C++的机制本身就很快,一个函数只传指针,而J***a需要传对象,这在复杂度高的程序里差别就很大了,但J***a开发框架较多,这些年虚拟机也不断提升性能,因此有了很大提高。不客气的说句话,记得学车的时候有个老师傅说,没有肉车,只有肉人,每个人写的代码快慢也因人而异吧

单个函数测试差别不大,但是对于一个拥有几十万行以上代码的程序来说那是天地之别,无论是启动速度、内存占用、运行效率,C/C++ 的都遥遥领先,看看市面上的3D游戏就知道了,这种对性能要求极高的程序没一个是用J***a写的。

c++写个内存管理肯定c++快吧,不想说什么 乱七八糟的,你拿每次动态内存分配走系统调用的方式和没用内存池的c++比就是搞笑。我主要用j***a,没啥偏见,扬长避短就好。

不同编程语言打包成exe执行,速度是不是都一样?为什么?

答案当然是不一样,具体原因涉及到编译原理,下面详细解释一下。

就目前的编程语言来说,主要分两种模式

一种是编译型的语言,典型代表就是C/C++,编译型语言会将程序代码直接转换为可在特定机器上运行的二进制(机器语言)程序,它的[_a***_]是运行速度快,但是编译需要较长时间,编译后的程序无法跨平台运行。

还有一种是解释型语言(可以细分,比如基于本地解释器,如Basic,python等,还有基于虚拟机的解释器,如J***a,C#等),这种语言不是把程序直接编译成机器代码,而是在运行时把代码逐条翻译成机器代码(基于虚拟机的语言会先将代码编译成中间语言代码,然后再在虚拟机上解释执行这些中间语言),解释器语言的特点是结果即时可见,可以跨平台运行,但是运行效率相比编译型语言要慢一些

此外,即使对同一种语言编写的代码,不同的编译器编译后的程序,运行速度也会存在一定的差异,因为现代的编译器里面都加入了优化机制,然而优化策略、优化算法实现细节却不尽相同,导致最终生成的exe也就有一些差异了。

不要说不同语言,同一种语言的不同版本的编译器效率都不同。比如icc编译优化过的程序跑在el架构cpu上可能就比gcc编译的快一点。当然现在的主流是靠cpu性能硬上,编译上的优化差不多过得去就行。

不一样。

简单的解释一下,计算机只认识0和1。而j***a,php,c,Python等等各种语言,都需要各自的编译器来将程序代码“翻译”成0和1。

这个翻译的过程比较复杂,各自的能力水平侧重点都不一样,导致这个翻译的时间长短也不一样啦。

哪个j***a ide速度最快?

目前主流的J***A IDE有idea,eclipsenetbeans。

我说下我用过的两个吧,eclipse和idea。

单从占用系统***上说,idea优于eclipse数倍,我的电脑是i5 8G的,开5个idea,并且都启动相关的应用,运行一点不卡顿,就是风扇转的噪音大些了。eclipse开俩机器就受不了了。

使用功能上说,idea的相关插件要比eclipse多一些。

从代码的显示上说,感觉eclipse要好些,一些需要高亮显示的部分看着更舒服。当然这些格式可以按照个人喜好调整。

总之,个人选择的话会是idea。


到此,以上就是小编对于c语言 j***a 速度的问题就介绍到这了,希望介绍关于c语言 j***a 速度的3点解答对大家有用。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.rongung.com/post/40111.html

分享:
扫描分享到社交APP