Java为什么永远比C,C++慢

Java为什么永远比C,C++慢,第1张

首先,java字节码的执行是通过jvm(java虚拟机)来执行的,而jvm基本上是用c语言实现的。这就相当于多了一个中间层,用c、c++编写的程序执行是(可执行文件--->机器),而用java编写的程序执行是(字节码--->jvm--->机器)。另外,jvm本身的一些机制如垃圾回收,类的查找与加载等也是有时间消耗。

不过任何事情都是有两面性,java可能比c、c++慢,但是这个平台为我们屏蔽了很多机器和 *** 作系统的差异性,我们编写java代码基本不用太多考虑机器和 *** 作系统本身的东西。并且有很好的可移植性。比如你在Windows下写的java代码,基本上只需要做很少的修改就可以在Linux下运行了。

最后说点题外话,那些说java可以比c、c++快的人应该都是java的死忠,我相信实现同样的功能有高手可以用java写的程序比很多人用c、c++写的程序要快,但是和同样水平的c、c++程序比,那么在程序性能上还是不会有优势的。而那些开口闭口就说java慢的像蜗牛的人估计也没有写过几行java代码,实现同样功能他用c、c++写的也未必有别人用java写的程序跑的快。

所以,没有太多的必要比较语言的快慢,重要的是语言他适合用来做什么,存在的既是合理的,一种语言既然存在那么必然有他适用的地方,不然你可能没有听说过这门语言。

1java是解释性语言,java程序在运行时类加载器从类路经中加载相关的类,然后java虚拟机读取该类文件的字节,执行相应 *** 作而C++编译的时候将程序编译成本地机器码一般来说java程序执行速度要比C++慢10-30倍即使采用just-in-time compiling (读取类文件字节后,编译成本地机器码)技术,速度也要比C++慢好多

2java的垃圾回收机制较C++由程序员管理内存效率更低

3java程序有要从网络上加载类字节,然后执行,这也是导致java运行速度慢的原因

4在程序运行过程中,java虚拟机要检测数组是否越界,在C++中则不检测

如果这些原因都不是的话,那就自己去ITjob网上看吧,这些也是复制过来的。

DOC注释/------/是完全为javadoc服务的会被编译识别。

@打头的表示注解,注解这个东西是JDK15提出来的,表示一个类(class)、字段(field)或者方法(method)的属性(attribute)。

javadoc是javaAPI的一种方便实现,主要是为了别人对此类的阅读使用的方便,一般不影响类的功能。因为java之前的C/C++的api让你阅读起来非常不方便。

DOC注释里面的专门给出doc提示用的,如:注释内的@return 表示方法的返回值类型,它是在方法上的doc注解,即使你这个上面随便瞎写,不会影响类的编译和功能。

而在方法上面直接加的@Override,表示这个方法是覆盖来自超类(super class)的已知方法。

如果方法定义和超类的这个方法格式不合适,编译无法通过。

一般编程在1/4~1/3就可以了,其实编程的时候不单要关注注释的量,还要写的清晰、明了。注释的多少不是主要的,关键是能让别人看的时候能看明白。

另外在命名是也要特别注意,命名能都充分表现你的变量、方法、类的含义,这样也能起到注释的作用。

还有就是类、方法不能过大,方法十几行也就差不多了,太多可读性就比较差了。

以上就是关于Java为什么永远比C,C++慢全部的内容,包括:Java为什么永远比C,C++慢、java 网站打开慢是什么原因 伯乐在线、java中注释的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10096379.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存