版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
深圳市计算机行业协会2005年6月23日深圳市计算机行业协会共35页,您现在浏览的是第1页!JAVA简史Sun的公司,PatrickHaughton和JamesGosling(一个全能的计算机奇才)带领着Sun的一个工程师小组,着手设计能够用于像有限电视转换盒一类的消费设备的小型计算机语言。由于这些设备没有很强的处理能力和太多内存,所以这个语言必须非常小并能够生成非常紧凑的代码。另外,因为不同的厂商可能选折不同的CUP,所以这个语言不能够限定在一个单一的体系结构下。这个项目的名称是“Green”.深圳市计算机行业协会共35页,您现在浏览的是第2页!JAVA简史对代码短小,紧凑,与平台无关的要求使得开发团队找出了很早以前的一个模型。一些Pascal实现曾经在早期PC上试过这个模型,以Pascal的发明者NucleusWirth为先驱,而UCSDPascal对此做的商业实现是要设计一种能够为假想机器生成中间代码的可移植的语言(假想机器被称为虚拟机,Java虚拟机(JVM)也由此而来)。深圳市计算机行业协会共35页,您现在浏览的是第3页!JAVA简史对代码短小,紧凑,与平台无关的要求使得开发团队找出了很早以前的一个模型。一些Pascal实现曾经在早期PC上试过这个模型,以Pascal的发明者NucleusWirth为先驱,而UCSDPascal对此做的商业实现是要设计一种能够为假想机器生成中间代码的可移植的语言(假想机器被称为虚拟机,Java虚拟机(JVM)也由此而来)。深圳市计算机行业协会共35页,您现在浏览的是第4页!JAVA简史1997年,Sun公司因为Java的一些不兼容性而起诉Microsoft公司,喀拉喀托火山也开始活跃起来(从此爪哇岛每年要发生大约十次火山爆发,也许这只是一种巧合吧)。随着官司越打越大,岛上居民的生活也越来越难过了,雅加达的经济危机,造成苏哈托总统下台,东帝汶提出要求政治自由。SunJava也发生了同样激烈的血战,最终于2001年判决Microsoft公司受罚两千万美元。深圳市计算机行业协会共35页,您现在浏览的是第5页!JAVA简史1998年JavaOne会议的最大新闻是Java1.2版的即将发布,该版本用老练的,可伸缩的版本取代了早期版本中玩具样的GUI和图形工具箱,从而比其先前版本更接近“一次编写,到处运行”的承诺。1998年12月Java1.2版本发布的3天后,Sun的市场部门把名字改为更响亮的“Java2标准版软件开发工具箱1.2版”。随后出现的1.3版,1.4版都是在最初的Java2版本基础上的增量改进,增加了一些新特性,提升了性能,当然也修正了一些bug深圳市计算机行业协会共35页,您现在浏览的是第6页!JAVA的优点Java的一个显著优点就是运行时环境提供了平台无关性:你可以在Windows,Solaris,Linux或者其他操作系统上使用完全一样的代码。这点对于在各种不同平台上运行从Internet上下载的程序来说很有必要。深圳市计算机行业协会共35页,您现在浏览的是第7页!JAVA的优点然而,Java绝不仅仅是某种经过改善的C++方言。很关键的一点在于:用Java开发没有bug的代码比用C++要简单的多。原因何在呢??Java的设计者仔细研究了是什么使得C++代码这么容易出现bug。他们为Java增加了一些特性,来消除出现常见bug的可能性:深圳市计算机行业协会共35页,您现在浏览的是第8页!JAVA的优点3,他们消除了在条件性语句中弄混赋值和相等测试的可能性。比如,你根本不能编译通过if(n=3)…这样的语句。(VB,PB程序员可能注意不到这种问题,但是请相信,在C/C++代码中,这种语句是导致常见的错误根源。)深圳市计算机行业协会共35页,您现在浏览的是第9页!JAVA技术特点
简单性在一次C++会议上,Sun公司创始人之一BillJoy(现为首席科学家)指出,“C++太复杂,我要的是C++++--”。Java正是满足了这个要求。Java加进了自动内存回收之类的新任务(++),减去了C++中费解而不常用的方面,如运算符重载(--)。
深圳市计算机行业协会共35页,您现在浏览的是第10页!JAVA技术特点
简单性1,类来自C++和Smalltalk,但Java只限于单实现继承。2,接口来自Objective-C,向Java提供多接口继承。3,包来自Modula,在Java中增加了层次试名字空间和逻辑开发单元。4,并发性来自Mesa,Java内置多线程支持。深圳市计算机行业协会共35页,您现在浏览的是第11页!JAVA技术特点
面向对象简单来说,面向对象设计是一种把重点放在数据(等于对象)和对象接口的编程技术。用问题空间中的元素与对象描述问题,而不是用计算机中执行的一系列步骤来描述。这样,好的设计就能得到可复用,可扩展和可维护的组件。这些组件相当灵活,可以处理环境的改变,因为这些对象的主要工作就是相互之间来回发送消息。深圳市计算机行业协会共35页,您现在浏览的是第12页!JAVA技术特点
分布式从1982年成立时起,Sun公司的思想一直是“网络就是计算机”,Java编程语言要求支持网络和像本地对象一样方便地访问分布式对象。这个目标一开始就已经提出,但Java的功能是不断改变的。深圳市计算机行业协会共35页,您现在浏览的是第13页!JAVA技术特点
解释性Java程序是解释性的,不是编译成自然执行码,而是转换成平台中立的字节码。这些字节码可以传输到任何具有Java运行环境(JRE,JavaRuntimeEnvironment)的平台,其中包括Java虚拟机(JVM,JavaVirtualMachine),从而在执行时不需要重新编译或重新链接。深圳市计算机行业协会共35页,您现在浏览的是第14页!JAVA技术特点
健壮性健壮性反映程序的可靠性。Java的几个内置特性使程序的可靠性得到改进:1,Java是强类型的语言。编译器和类装入器保证所有方法调用的正确性,防止隐式类型失配和版本不兼容性。深圳市计算机行业协会共35页,您现在浏览的是第15页!JAVA技术特点
安全性Java被设计为用于网络/分布式环境。为了达到这个目标,在安全方面投入了很大精力。用Java可以构建防病毒和防篡改的系统。
Java安全机制禁止Java程序进行一些操作。下面列出被限制的一些操作:深圳市计算机行业协会共35页,您现在浏览的是第16页!JAVA技术特点
体系结构中立体系结构中立性指Java的平台中立字节码。Java程序不是编译成平台特定的二进制码,而是可以在任何地方执行,不需要重新编译与链接。如果公司开发新硬件,则不必放弃原有的软件投资,而只要在新平台中放上Java运行环境。如果新公司开发全新的硬件与操作系统,则不必从没有软件的产品上从零开始,只要放上Java运行环境,新设计的平台就可以运行所有现有Java程序。深圳市计算机行业协会共35页,您现在浏览的是第17页!JAVA技术特点
高性能也许你认为“解释性”与“高性能”是个矛盾,但平台中立字节码可以在运行时转换成CPU特定机器码,和自然编译C/C++代码以同样的速度执行。Java带有两个运行转换工具,可以自动完成这个工作:代工具是即时(JIT,Just-In-Time)编译器;第二代工具是HotSpot。实际上,HotSpot和JIT编译器的作用是相同的;运行时转换成自然指令集。但是,HotSpot还监视代码执行,对经常执行的块进行速度优化,而不是盲目优化。深圳市计算机行业协会共35页,您现在浏览的是第18页!JAVA技术特点
动态性Java还是个动态语言,这里指的是库。具体地说,库可以不断改变,而程序不需要重新链接。Sun公司发布新Java版本或其他公司发布新的第三方库之后,库中增加了新内容,但早期的平台中立字节码仍然可以工作。只要库中使用的部分没有删除,程序就可以使用,即使库中增加了新内容。前面曾介绍过,Java优先采用接口而不是类,从而也保证了这种动态性。深圳市计算机行业协会共35页,您现在浏览的是第19页!JAVA简史不过,Sun的开发人员大都具有深厚的Unix背景,因此他们的语言基于C++,而非Pascal。尤其是,他们把语言设计成面向对象的,而不是面向过程的。但正如Gosling在采访中说:“毕竟,语言只是工具,而非目标。”Gosling把他的语言称为“Oak”.Sun的人后来才发现Oak已经是一门存在着的计算机语言的名字,于是他们又把名字改成了“Java”.与爪哇的名字相同。1995年5月23日,Java出现在Sun系统公司的年度SunWorld会议中,作为公司20项公布项目中的第12项。深圳市计算机行业协会共35页,您现在浏览的是第20页!JAVA简史下面讲讲Java平台。1995年的Java只是个编程语言,如今则已成为一个平台。Sun在1996年早期发部了Java版。人们很快认识到Java1.0并不适合做真正的应用开发。的确,你可以使用Java1.0生成在画布上随便游动文本的applet。但是你甚至无法用Java1.0进行打印。Java1.0显然太过稚嫩,对黄金时期的到来还无准备。它的后继者,Java1.1填补了最明显的空缺,极大地提高了反射能力并为GUI编程增加了新的事件模型。深圳市计算机行业协会共35页,您现在浏览的是第21页!
Java标准版API的发展
版本类和接口的数目方法和字段数目1.021221251.150454781.21781209351.32130239011.43020(135个包)321381.5(5.0)4000以上(166个包)深圳市计算机行业协会共35页,您现在浏览的是第22页!JAVA的优点Java的另个优点在于它具有和C++类似的语法。这使得C和C++程序员可以很容易地学习Java。Java还是完全面向对象的------甚至比C++还要面向对象。除了数字之类的几个基本类型,Java中的一切都是对象。深圳市计算机行业协会共35页,您现在浏览的是第23页!JAVA的优点1,Java设计者取消了手工内存分配和回收。在Java中,内存是自动进行垃圾收集的。你永远不必担心会出现内存崩溃的现象。2,他们引用了真正的数组而且取消了指针算法。你永远不必担心由于指针操作时出现的偏移错误而重写内存区域。深圳市计算机行业协会共35页,您现在浏览的是第24页!JAVA的优点4,他们消除了多重继承,替换为“接口”(interface)。接口能够实现多重继承的大部分功能,却没有管理多重继承层次关系带来的复杂性。深圳市计算机行业协会共35页,您现在浏览的是第25页!JAVA技术特点
简单性Java简单性的另一个方面是Java中没有任何真正的新东西。如果你看看Java特性集和计算历史,则可以发现,一切都是借用现成的东西。深圳市计算机行业协会共35页,您现在浏览的是第26页!JAVA技术特点
简单性5,异常处理来自Modula-3,在Java方法中增加了抛出异常的声明。6,动态链接与内存回收来自Lisp,Java可以在需要时装入类,不需要时将其释放。随着新特性不断加进Java中,这些特性也是从摸索与实践中来的。例如:在Java1.5中增加参数化类型的支持。深圳市计算机行业协会共35页,您现在浏览的是第27页!JAVA技术特点
面向对象实际上,JavaAPIs是这些预建组件的集合,称为类库。Java中不需要一切从头开始,也可以从标准库开始。这些标准库随着时间推移不断改变,每个新版本推出更多预建组件。深圳市计算机行业协会共35页,您现在浏览的是第28页!JAVA技术特点
分布式最初,Java只能通过HTTP之类的标准TCP/IP协议访问分布式对象。而利用最新版的Java平台,则可以通过CORBA(CommonObjectRequestBrokerArchitecture)与RMI(RemoteMethodInvocation)等协议和最近增加的WebServices像访问同一执行空间的方法一样方便而直接地调用远程机器上的方法。对每个协议,系统自动处理所有转换与传输。深圳市计算机行业协会共35页,您现在浏览的是第29页!JAVA技术特点
解释性也许你以为这个过程会使速度很慢,但稍后“高性能”一节将会介绍,情况并非如此。平台中立字节码实际上还包含其他信息,可以在运行时根据编译时无法进行的决策进行执行优化。深圳市计算机行业协会共35页,您现在浏览的是第30页!JAVA技术特点
健壮性2,Java没有指针,不能引用内存指针,搞乱内存或越过数组边界。Java用引用而不用指针,不能通过删除引用直接操纵内存空间。3,Java进行自动内存回收,编程人员无法意外忘记释放内存,不需要判断何处需要释放内存。4,Jav
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 62841-4-4:2020/AMD1:2024 EN-FR Amendment 1 - Electric motor-operated hand-held tools,transportable tools and lawn and garden machinery - Safety - Part 4-4: Particular r
- 【正版授权】 IEC 61340-4-9:2024 CMV EN Electrostatics - Part 4-9: Standard test methods for specific applications - Garments - Resistive characterization
- 2024年外贸业务员月工作计划范例(七篇)
- 2024年土石方工程合同简单版(三篇)
- 2024年大学生实习工作总结范例(二篇)
- 2024年小学教师个人教学工作计划样本(三篇)
- 2024年工程借款合同标准样本(二篇)
- 2024年小学四年级下学期少先队工作计划范文(二篇)
- 2024年学校环境卫生工作计划(二篇)
- 2024年学校体育工作总结范本(二篇)
- 科学教学设计《食物链》
- 力朴素抗癌药理药效及其合成
- 球磨机设计说明书
- CRRT的原理PPT参考课件
- 餐饮美学餐饮空间格局设计
- 有效初三英语课堂教学ppt课件
- 幸福在哪里作文800字高中范文
- 五人制足球比赛记录表.doc
- 整式的乘法与因式分解所有知识点总结
- 《运动生理学》教案
- 陈春花管理学著作精华解读之《管理的常识》
评论
0/150
提交评论