1)解释性语言固有开销:java程序在运行时类加载器从类路经中加载相关的类,然后java虚拟机读取该类文件的字节,执行相应操作.而C 编译的时候将程序编译成本地机器码.一般来说java程序执行速度要比C慢10-30倍.即使采用just-in-time compiling (读取类文件字节后,编译成本地机器码)技术,速度也要比C 慢好多. 2)字...
四、对比分析 C语言和Java语言的优势和劣势不同,总体而言各自都有它们的用处。1.比较运行速度 C语言的运行速度比Java语言快得多,因为C语言直接操作内存地址,而Java语言需要通过JVM进行解释执行。但是,Java语言的运行速度也在不断提高,特别是在JIT等技术上的优化。2.比较安全性 Java语言相对于C语言有更高的安全...
大多数程序员都认为C/C++比java快,这种观点是由于java刚出现的时候即时编译技术还不成熟,主要靠解释器执行的java语言性能比较低下。 现在的即时编译技术已经成熟,下面对java和C/C++的速度进行讨论。 java与C/C++的编译器对比实际上代表了最经典的即时编译器与静态编译器的对比。 java虚拟机的即时编译器与C/C++的静...
数据如下: 可以看到Java几乎比C慢两倍! 但是接着我发现他用的是Java的老版本而且只实验了一次,这实际上并不能够真实地体现Java的速度。 于是我迅速写了点代码运行100三次,并用我认为 “快”的方式运行(其实还有更快的,只是我比较懒没有设定)。结果如下: $ java -server -XX:CompileThreshold=1 Mandelbrot 2>...
前两天水群,和别人扯到C++和Java的性能对比,感觉现在好多人已经不再说java慢了,甚至好多人认为java性能已经和C++差不多了。但是正好我司有个模块在尝试java转C++,这就引来大家的一片质疑,后来我在网上找到这样一份数据,大多数情况下C++无论在运行速度还是内存占用,比Java有更大的优势。
问题1需要等Java高手来解答,对于问题2,我听说过一个听起来很有道理的解释是这样的,C的编译器要保证编译出的指令在大部分CPU上正常运行,所以只能使用老的通用指令,而CPU不断发展,产生了很多新的速度更快的指令,jvm是有能力根据不同的平台选择最优指令的,所以同样的指令逻辑,Java非常有可能会更快一些;...
C与Java从编程思想上来说完全不同.Java是纯面向对象语言,用虚拟机解释执行,速度非常慢,大约是同等C语言程序速度的1/60。好处是程序执行和操作系统无关。非常适合在网络上使用。C是面向过程的语言,编译出的程序和硬件,操作系统相关。程序运行效率非常高。好的C程序最多比同样的汇编程序慢10%.两种语言...
JAVA和C的运行速度对比 运行环境: P4 2.0 256M XP SP2 Java 版本:1.6.0_13 C 编译器:lcc 4.0(lcc-win32) Java Code: class Test { public static void main(String a[]){ long beginTime = System.currentTimeMillis(); System.out.println("begin:"+beginTime); ...
C语言和Java各有优势,具体选择要看你从哪些方面去考量。C语言近年来在社区排行榜中排名稳定,许多人初学者会选择它作为入门语言。由于C语言的底层开发能力,很多人倾向于使用它,它比汇编更易于理解,且执行速度仅次于汇编。C语言还能作为学习其他语言的基础,许多驱动和系统内核都是用C语言编写的。Java...