起初只是为了弄清楚JAVA速度到底咋样的,做了两个测试,结果都表明,JAVA比C快 25%
我的测试环境,CPU:TK-55(1.8G)
操作系统:WINXP
C编译器:GCC 3.4.2
JAVA编译器:JKD1.6update13
测试1:算10000000000次循环累乘
JAVA版代码:
import java.io.IOException;
public class test {
public test() {
double k = 0;
for (int j = 0; j < 100; j++) {
for (int i = 0; i < 100000000; i++) {
k += 3.1415926 * i * j;
}
}
System.out.println(k);
}
public static void main(String[] args) throws IOException {
new test();
}
}
C版代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
double k = 0;
for(int j=0;j<100;j++)
for (int i = 0; i < 100000000; i++) {
k += 3.1415926 * i*j;
}
printf("%f\n",k);
system("pause");
}
结果 JAVA用时52秒 C用时70秒。
测试2:
用递归算法算斐波那契第45项
JAVA代码:
public class test {
public static int Fibonacci(int n) {
if (n < 2)
return 1;
else {
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
}
public static void main(String[] argc) {
System.out.println(Fibonacci(45));
}
}
C代码:
#include <stdio.h>
#include <stdlib.h>
int Fibonacci(int n){
if(n<2)
return 1;
else {
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
int main(void) {
printf("%d",Fibonacci(45));
system("pause");
return 0;
}
这次结果,JAVA 用时22秒 C用时29秒。
两次结果比较下来。JAVA都只占用了C的75%时间,也就是说JAVA比C快25%
我也用VC++6.0测试过。比GCC慢好多。
我也不清楚为什么,不过我真的好佩服SUN的那些计算机专家,做出来的东西真牛!
分享到:
相关推荐
标题中的“在什么情况下Java比C快?”是一个有趣的话题,涉及到计算机编程语言性能的讨论。Java和C语言都是广泛使用的编程语言,但它们在性能上有显著的差异。C语言以其低级特性和直接操作硬件的能力而闻名,通常被...
本压缩包文件"各种算法 java和c语言两种实现"提供了多种算法的Java和C语言版本,旨在帮助开发者深入理解这两种语言在处理算法时的不同方式和效率。 首先,Java是一种面向对象的高级编程语言,具有自动内存管理、...
根据提供的文件信息,我们可以推断出这是一组与Java和C语言学习相关的资源链接集合。接下来,我们将基于这些信息深入探讨Java与C语言的基础概念、重要特性以及它们在实际开发中的应用价值。 ### Java编程语言 Java...
在编程领域,C语言和Java都是非常重要的编程语言,它们各自有着独特的特性和应用范围。C语言以其高效、灵活和贴近硬件的特点,常被用于系统级编程、嵌入式开发以及高性能计算;而Java则以其“一次编写,到处运行”的...
'Java Swing 教程:30 分钟玩转 Swing 界面设计(C 语言中文网).epub' 'Java 基础教程(C 语言中文网).epub' 'Java 设计模式:23 种设计模式全面解析(C 语言中文网).epub' 'JSP 教程:1 天玩转 JSP 网站开发技术...
标题"DES加密算法(JAVA和C语言描述)结果一致"表明我们将探讨如何在两种不同的编程语言——Java和C中实现DES加密,确保得到相同的加密结果。在跨语言实现加密算法时,一致性至关重要,因为这确保了无论在哪种环境下...
本话题主要关注的是如何在Java环境下解析由Linux C程序通过socket发送的结构体数据。这里我们涉及到的主要知识点包括Java的网络编程、C语言的结构体以及二进制数据的处理。 首先,让我们了解一下Java的网络编程。...
标题中提到的“将C头文件转为Java工具”是一个专为JNA设计的应用,它能够自动化地解析C头文件,并自动生成对应的Java接口,使得开发者可以更方便地利用JNA来调用C库。这个工具的使用通常包括以下几个步骤: 1. **...
东方一峰编写的《JAVA快速入门教程》,讲述JAVA语言的基本知识,适合有C语言基础的读者快速掌握JAVA编程思想。
本资源包含用Java和C语言实现的数据结构算法,这两种语言在编程领域广泛应用,各有其特点和优势。 首先,Java是一种面向对象的、跨平台的编程语言,以其简洁的语法和自动内存管理闻名,适合开发大型企业级应用。而...
标题“c与Java的UDP收发”指的是使用C语言和Java语言进行用户数据报协议(User Datagram Protocol, UDP)的通信。UDP是一种无连接的、不可靠的传输层协议,常用于实时应用,如音频、视频流传输,因为它提供快速的...
C、C++ 和 Java 都是广泛用于实现数据结构的编程语言,每种语言都有其独特的特性和优势。 在C语言中,由于其低级特性,可以直接对内存进行操作,这使得C语言在实现数据结构时更加灵活,但同时也需要开发者具有较高...
在Windows系统中,通常推荐将JDK安装在"C:\Program Files\Java"这样的标准路径下,解压后,开发者可以直接设置环境变量,如JAVA_HOME,Path等,以便于命令行调用Java编译器(javac)和Java虚拟机(JVM)。...
与许多其他编程语言(包括C和C++)不同,Java编译后不是生成特定于平台的机器代码,而是生成平台独立的字节码。这些字节码通过网络分发,并由虚拟机(JVM)解释执行,无论在哪个平台上运行。 Java的设计简单易学。...
本项目是基于Java语言进行的C/S(客户端/服务器)架构的图书管理系统课程设计。C/S架构是一种常见的软件系统架构模式,它将应用分为客户端和服务器两部分,客户端负责用户交互,服务器则处理数据和业务逻辑。 ...
在这个基于C语言实现的Java词法分析器中,我们探讨的核心技术包括C语言编程、正则表达式、有穷自动机(Finite State Automata, FSA)以及词法规则的定义。 首先,C语言是这个项目的编程基础。C语言以其高效、底层...
在语法上,Java 比 C/C++ 更加简洁,没有运算符重载,没有多重继承,而是采用了接口来实现多态。Java 还引入了异常处理、自动内存管理、垃圾回收等特性,使编程更加安全。而C/C++的异常处理需要手动管理,且对错误...
例如,链表在插入和删除操作上比数组快,但在随机访问上较慢;而数组在随机访问上快,但在插入和删除时可能需要移动大量元素。因此,在选择数据结构时,应根据具体的应用场景和需求来决定。 对于数据结构的学习,...
MCU云快充协议C语言实现库软件源代码: #define FRAME_TYPE_0X01 0x01//充电桩登录认证 #define FRAME_TYPE_0X02 0x02 #define FRAME_TYPE_0X03 0x03//充电桩心跳包 #define FRAME_TYPE_0X04 0x04 #define FRAME_...