Java 语言与C 语言代码运行效率的比较
作者:王西美
来源:《计算机光盘软件与应用》2013年第12期
作者:王西美
来源:《计算机光盘软件与应用》2013年第12期
摘 要:计算机技术的不断发展带动了计算机语言的不断改革。从最初的机器语言到现在的高级语言,计算机语言的每一次变革,都带来了语言的新的变化,运行的效率也逐渐提高。本文在详细介绍Java语言和C语言的基础上对两种语言进行比较,通过运行编辑的程序,利用结果来说明Java语言与C语言的运行效率,而通过比较就可以为人们在以后的语言程序设计中提供一些指导性的意见和建议。
关键词:Java语言;C语言;代码运行效率
中图分类号:TP311.1
在计算机语言的发展史上,目前总共是发展了四代计算机语言。第一代计算机语言是机器语言。机器语言是计算机的专用语言,在当时是唯一一个可以识别的语言。后几代计算机语言发展是建立在机器语言的基础上的。以机器语言为契机并将机器语言逐步进行简化,直到人类
可以进行直观的理解掌握。第二代计算机语言是汇编语言,与机器语言相比,汇编语言进行改革的幅度大大提高,人们在使用时出现错误的几率也降低很多。虽然汇编语言还是有些复杂,但已经开始用字母来代替许多数码。第三代计算机语言是高级语言。高级语言很大程度上考虑了人类的使用习惯,使得在使用时更加便捷。与汇编语言相比,高级语言复杂程度大大降低,在程序中使用的运算符号以及式子都与平常使用的数学计算公式差不多。此外,这种高级语言以简单易学,通用性强,程序比较短著称,由于非常符合人类的使用习惯,其应用也在不断增强,是一种理想的程序设计语言。第四代计算机语言是前几代计算机语言的综合。它根据每一种语言的特点确定其应用范围。在程序运行时,只需输入程序的原始数据,然后命令它们执行。至于程序是怎样执行则由它们本身来决定。因此,这种语言的变化大大简化了人脑的工作量。
1 Java语言的概述
作为一种面向对象的程序设计语言,Java与C++极为类似,但却要比C++简单的多。它在集成其他语言的特点和优势的同时又有自己独特的优势。Java的主要特点如下:(1)简单性。Java可以对内存中产生的垃圾进行自动收集,大幅度降低了程序的复杂程度,此外,
Java添加了更为实用的功能的,这使得程序开发更加简单可靠。(2)平台独立性。Java语言在程序编程过程中是先编译成中间码,然后再进行装载与校验,最后通过翻译出来的不同的机器码来执行。因此,只要能支持Java虚拟机,就可运行各种 Java程序。这也是Java最吸引人、使用方便的原因。(3)面向对象的技术。近年来软件开发中使用最多的就是面向对象的技术。面向对象技术是指在编程过程中,以一种更加直观的、人们更容易接受的方式来编程的技术。而Java的动态联网编程特性,将面向对象的优势发挥到最大。
2 C语言的概述
C语言,作为一种新的程序设计语言,它结合了汇编语言与高级语言两种语言的优势,使得它的应用更加简单、普及。如今,C语言已经应用于各种类型的微型机上。在编写程序时,C语言可以直接进行程序的编程。因此,C语言在应用方面十分广泛,具备很强的数据处理能力。C语言的应用已不仅仅是用于软件开发,各类科研都需要用到Cc和java先学哪个语言。C语言的优点是简洁紧凑、灵活方便;运算符丰富;数据类型丰富;表达方式灵活多用;生成目标代码质量高、程序执行效率高;可移植性高。因为C语言是将相同数据堆放在一块,这就使得C语言的数据存在很大的安全缺陷,一旦出现意外,所有数据都将丢失。此外,C语言在语法
限制以及变量的类型上比较宽松,这样就会影响到程序的安全性。而且C语言比其他高级语言的难度大,完全掌握是很不易的。
3 代码运行效率的比较
在进行计算机语言的比较时,要根据不同语言的不同特性,在同一个平台上对语言的效率进行比较。比较过程中要从各语言的基本概念上比较与衡量,最主要的是在实际的运行环境下进行测算,然后根据测算的结果来比较各语言的真正运行时间。通过以上的比较,就可以从中选择出运行效率快、合适的语言。然而,在实际环境中比较时,由于实际环境的多变性,就会影响到语言代码的实际运行结果,降低运行结果的准确度。例如,程序通过CPU需要一定的时间,当遇到更高级别的程序时,就会使该程序暂时进入待命的状态而去执行更高级别的程序,这样也会使其他子程序的暂停运行,各种硬件设备也会停止运行。然而要想在当前的电脑操作系统中避免这种情况的发生还是比较难的,而且也没有这样做的必要。因为在编写程序时所选择的语言算法是可以运行在各类的环境中的。而且对于不同的语言,即使是采用同一种计算方法,测试的结果也会完全不一样。因此,为了能够准确的测试两种语言的运行时间,就要对C语言和Java语言进行试验。测试时需要用Java语言和C语言编辑一小
段程序,再对程序进行运行,通过不断地的执行程序测试两者的运行时间,然后计算出总体运行时间平均值,求出运行时间的标准差,就可以方便的看出哪种语言的运行效率更高。
4 Java语言和C语言的运行结果显示
C语言是经过多年发展而来的一种高级语言,具有很强的包容能力,对低级语言也可以通读。而我们常用的计算机语言就是包括低级语言与高级语言在内的。C语言是非常适合初学者的学习和使用的,也正是由于这个原因,在目前大学中开授的课程中也包括C语言。一般来说,对于C语言的学习,只要是能够掌握好指针的使用,就可以非常熟练的使用C语言来编程,而且程序的执行效率也不低。而Java语言是在C语言的基础上进行改进而来的高级语言,对于C语言的各种优点,Java语言也是包含在内。因此,这两种语言进行运行效率的比较时,就需要经过多次重复的测试,才能得到精确的比较结果。
4.1 C语言程序的运行情况
为了更加清楚的了解两种语言的运行效率,我们现对C语言进行测试。测试情况可以通过以下的来进行演示。在运行过程中,会采用一些辅助的语言来讲解。
# include //这是程序的头文件,可以从时间戳上获取程序的时钟周期数。
int64 result[8][1000];这是对程序中的函数进行调用,进行函数的调用时就会跟踪进入函数内部。采用过滤跟踪可以避免普通跟踪时经常遇到的未知错误。
timeO = My Query Counter();在调试工作之前,需要在代码中加入一个断点。通过这个断点,就可以看到程序的调用情况以及运行状态。当程序遇到断点,就会停止运行,状态显示为暂停。
4.2 Java语言的运行情况
int id;对此语句进行扫描时,会提示你这是和Java透视图关联的。
char name[30];第一个字段区域“源文件夹”默认是项目的文件夹。
public class Tester这是Java程序的启动配置。对于大多数的Java而言是不需要的。
int i;Java程序的变量。
for(i=0;i
strcpy(t->name,name);对Java程序的检查过程。也可以对变量进行修改等工作。此视图显示的是当前范围的变量值。
t->next=0;p->next=t;变量发生变化时,变量值不会自动更新。
5 结论
通过以上的程序运行结果可以看出,C语言的运行效率要比Java的高很多。因为C语言是属于编译型的,而Java语言则是解释型的。Java语言运行时要先被翻译成计算机能辨识的二进制代码,然后才能执行。虽然在上面的程序测试中C语言要快于Java语言,但这并不是绝对的。在实际中,要根据不同语言应用范围,才能选择某一语言程序。
参考文献:
[1]卢晓苗.一例Java语言与C语言代码运行效率的比较[J].2010.
[2]张卫民.Java语言及应用[M].北京:清华大学出版社,2009.
[3]谭浩强.C语言程序设计[M].北京:清华大学出版社,2003.
[4]郑莉,王行言,马素霞.Java语言程序设计[M].北京:清华大学出版,2005.
作者简介:王西美(1989.1-),女,山东莒县人,本科。
作者单位:长春师范大学,长春 130000
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论