网站大量收购闲置独家精品文档,联系QQ:2885784924

JNI书稿统稿JNI书稿统稿.doc

  1. 1、本文档共252页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JNI书稿统稿JNI书稿统稿

绪论:用Java还是C Java语言作为优秀面向对象的语言近几年大放异彩,研究和应用Java语言成为当前国内外一大热门。 Java语言是一个从一出生就受到举世瞩目的编程语言。它的诞生是互联网上和编程世界里意义深刻的一件大事,以至于每一本介绍Java技术的书开始的第一句通常,是“1996年,互联网上发生了一件重要的事情――Java语言诞生了……”或者“Java,20世纪末最重要编程语言……”。从它一出生就被人们寄与巨大的期望,期望它在各种工作中担当重责。事实上五年来,Java也正像人们预期的那样,在网络,多平台应用,多媒体处理甚至无线网,个人电子消费品等领域得到了巨大的应用。可以预见,将来,Java语言一定能够在更大的范围中得到更广范应用。或许,Java将成为21世纪应用最广泛的编程语言。 Java的光明前途勿须质疑,但是它的缺点也不能回避。 一直以来,执行速度缓慢是Java一个最深的痛处。在Java1.1时代,曾有数据表明使用Java编写的程序比使用C语言编写的相同程序慢约30倍。虽然近两年,在Sun,IBM等大公司的努力下,JIT以及Hotspot等虚拟机技术发展很快,这一差距已不是如此大。但是Java的执行速度远不及C这一情况还没有实质性的改变。 因此,很多程序员在一个优秀、先进的语言——Java和一个传统的C语言之间徘徊,不能选择一个真正适合自己,适合应用的开发语言。这种情况已持续了不只一两年。实际上,要在Java和C之间做一个选择太难了。不相信吗?请看一下这个比较。 Java和C的一个比较 互联网上有很多热门问题,比如说Java和C语言到底谁更优秀?几乎每一个Java论坛上都有成叠的有关贴子。这是一个经典的,也是一个不没有答案的问题。历来它为人们争论着,并且仁者见仁,智者见智。有人认为面向底层的C语言有其重要而不可替代的地位,有人认为面向对象的Java有先进而灵活的编程体系,应当成为主流。并且这两派各持一辞,互不相让。 凭心而论,C语言有其过人之处,并且这是不可替代的。它的最优点是速度快,可以进行最低层的操作,而从Java在这方面就表现的差一点。不过从另一个角度来说这也是C的的缺点,要获得高速和对低层的硬件进行操作必须与机器结合的很紧,甚至需要为一些硬件设计特定的C语言实现。这样C及C++的可移植性就变很差,而这正是Java的强项。Java的口号是“一次编写,处处运行”。这意谓着Java程序可以以二进制的形式跨平台移植,这对于C或C++程序来说简直就是天方夜谈。在Java出现以前,C语言的程序是以源代码形式移植,即使这样还是要改写很多的代码。而Java程序可以在Unix平台或者很流行的Linux上编译,然后拿到Windows下执行。有人说,这简直太好了。 但“一次编写,处处运行”并不是Java最大的优点,虽然这是比较明显的一点。Java最大的优点在于它提出的编程结构,即面向对象,可以重入结构,内置多线程。说到底这种编程结构,或者说是编程理念是由Java语言本身的特点和Java运行库共同作用的结果。 只谈这些抽象的概念难以使人信服,下面还是具体了解一下C语言和Java语言它们主要有哪些优点和缺点。 速度 C语言及它的继承者C++语言,都是强类型的,预编译,早编联的编程语言。这类语言很多的运算在编译中完成了,并且生成的是二进制的机器语言文件,可以被处理器直接调用执行。这使C/C++代码生成的程序运行起来非常的快,仅次于直接用二进制机器语言如ASM写成的程序。 /* c语言代码 */ /* File : ch01\test01.c */ /* Object: 演示C语言的编译 */ void invoke(int); int main(){ int I = 3 ; int c = I + 5; invoke(c); } void invoke(int n){ n++ } 以上代码编译后可能(不同的编译器可能有不同的解释)等价于: /* c语言代码 */ /* File : ch01\test02.c */ /* Object: 演示C语言的编译 */ int main(){ int I = 3 ; int c = 8; c++; } 很显然test02.c中代码的执行速度要比test01.c的代码快的多:少了一次加法计算和一次函数调用。当然,在例子test01,test02这样小的程序中,可能还看不出来速度的变化。事实上,在当前的计算机上这种速度的变化小于能够测量的最小值。但是如果在一个很大的程序中,而类似test01和test02的情况很多时,速度变化会很明显。 而Java是面向对象编程语言,它有很多的代码要到执行时才能确定。注意下面代码中粗体字。变量me的值要在运行时才

您可能关注的文档

文档评论(0)

cduutang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档