良葛格java jdk 50学习笔记ch01

上传人:xzh****18 文档编号:46427317 上传时间:2018-06-26 格式:PDF 页数:12 大小:1.04MB
返回 下载 相关 举报
良葛格java jdk 50学习笔记ch01_第1页
第1页 / 共12页
良葛格java jdk 50学习笔记ch01_第2页
第2页 / 共12页
良葛格java jdk 50学习笔记ch01_第3页
第3页 / 共12页
良葛格java jdk 50学习笔记ch01_第4页
第4页 / 共12页
良葛格java jdk 50学习笔记ch01_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《良葛格java jdk 50学习笔记ch01》由会员分享,可在线阅读,更多相关《良葛格java jdk 50学习笔记ch01(12页珍藏版)》请在金锄头文库上搜索。

1、 1 了 解 Java 如果您完全没有接触过Java或是仅对Java有着模糊的认识,那么试着在本章中,从10年来各时期的Java所担任的角色来了解它,或是从Java的语言特色来了解它,从Java应用的平台特色来了解它,以及从各式各样活跃的Java论坛来了解它。如果您是Java的初学者,我也在本章最后给出了一些如何学好Java的建议。 本章完全是介绍性的内容,对以后的学习不会有什么影响。如果您想立即开始学习Java,则可以先跳过本章,待日后有空时再回过头来阅读本章的内容。 2 1.1 什么是Java 在不同的时间点上,Java这个名词有着不同的意义。要了解什么是Java,从一些历史性的数据上,您

2、可以对Java的角色有所了解。 Java最早是Sun公司(Sun Microsystems Inc.)“绿色项目”(Green Project)中编写Star7应用程序的一个程序语言, 当时的名称不是Java, 而是取名为Oak。 绿色项目开始于1990年12月, 由Patrick Naughton、Mike Sheridan与James Gosling主持,目的是希望构筑出下一波计算机应用的趋势并加以掌握,他们认为下一波计算机应用的趋势将会集中在消费性数字产品(像今日的PDA、手机等消费性电子商品)的使用上。在1992年9月3日Green Team项目小组展示了Star7手持设备,这个设备具

3、备了无线网络连接、5 in的LCD彩色屏幕、PCMCIA接口等功能,而Oak在绿色项目中的目的,是用来编写Star7上应用程序的程序语言。Oak名称的由来,是因为James Gosling的办公室窗外有一颗橡树(Oak),就顺手取了这个名称,但后来发现Oak名称已经被注册了,工程师们边喝咖啡边讨论着新的名称,最后灵机一动而改名为您所常听到的Java。 万维网(World Wide Web)兴起,Java Applet成为网页互动技术的代表。 1993年第一个万维网浏览器Mosaic诞生,James Gosling认为因特网与Java的一些特性不谋而合,利用Java Applet在浏览器上展现互

4、动性的媒体,对人们的视觉感官是一种革命性的颠覆。Green Team仿照了Mosaic开发出一个以Java技术为基础的浏览器WebRunner(原命名为BladeRunner), 后来改名为HotJava。虽然HotJava只是一个展示性的产品,但它使用Java Applet所展现的多媒体效果很快吸引了许多人的注意。 在1995年5月23 日,Java Development Kits(当时的JDK全名)1.0a2版本正式对外发表, 而在1996年Netscape Navigator 2.0也正式支持Java,Microsoft Explorer亦开始支持Java。 从此Java在因特网的世界

5、中逐渐流行起来。 虽然Star7产品并不被当时的消费性市场所接受,绿色项目面临被撤销的命运,然而万维网(World Wide Web)的兴起却给了Java新的生命与舞台。 图1-1所示为JDK所附的Java Applet范例。 了 解 Java1 图 1-1 JDK 所附的 Java Applet 范例 (jdk 目录demoappletsMoleculeViewerexample1.html) Java是一个更简单的面向对象(Object-Oriented)程序语言, 具有更高的跨平台可能性。 Java是一个支持面向对象观点的程序语言,在使用上比C+更为简单。它限制或简化了C+语言在开发程序

6、时的一些功能, 虽然牺牲了某些存取或弹性,但让开发人员避免开发软件时可能发生的错误,并让程序语言本身的使用上更为方便,而用Java所编写出来的程序在不同的平台间具有更高的可移植性。对于“一次编写,到处运行”(Write Once, Run Anywhere)这样的梦想,Java提供了更高的可能性。 Java可以代表程序语言,但在今日,更多时候代表了软件开发的架构。 在Java版本发表时是以Java Development Kits名称发表,简称JDK,到J2SE 5.0时的JDK称为J2SE Development Kit,除了提供编写Java程序时所必要的编译、运行、调试等工具之外,更搭配有

7、越来越丰富的API(Application Programming Interface)。随着应用范围的越来越广,Java演化出3个不同领域的应用平台:J2SE、J2EE与J2ME。Java不再只是单纯的程序语言加上API库的组成,更提供开发人员在各个领域开发软件时,一种依循的标准与框架(Framework)工具。 总而言之,随着时间的推移,Java这个名词不再只是表示一个程序语言,而是一种开发软件的平台,更进一步地也是一种开发软件时的标准与架构的统称。事实上语言在整个Java的蓝图中只不过是一个极小的部分,学习Java本身也不仅仅在于学习如何使用它的语法,更多的时候是在学习如何应用Java所

8、提供的资源与各种标准,以开发出架构更好、更容易维护的软件。 在 Design Patterns Elements of Reusable Object-Oriented Software 书中对“框架”做出的解释是:框架由一组互相合作的类组成,它们为特定类型的软件开发提供了一个可以重复使用的设计。 良葛格的话匣子 3 4 简单地说,您可以直接使用框架所提供的工具类,并在遵守框架制定的标准下,快速地开发出您所需要的软件,并避开软件开发时所可能发生的重大错误。 1.2 Java 的特性 Java本身是一种程序语言,所以您可以从程序语言本身的特性来讨论它;Java拥有不同领域的平台,所以您可以从应用

9、领域与平台的特性来探讨它;更重要的是Java拥有许多活跃的论坛、资源与开放源码(Open Source)项目,这更是在讨论Java时值得一提的特性。 1.2.1 语言特性 作为一种程序语言,Java拥有许多重要的特性:简单的(Simple)、面向对象的(Object-Oriented)、网络的(Network-Savvy)、解释的(Interpreted)、健壮的(Robust)、安全的(Secure)、可移植的(Portable)、高性能的(High-Performance)。以下针对这几个重要的特性来加以说明。 简单的(Simple) C/C+的强大功能是大家所皆知的,即使在众多程序语言的

10、竞争之下,C/C+仍旧在开发软件的程序语言中占有相当的地位,然而学习或使用C/C+并不容易。很多时候开发人员并不需要使用到C/C+的一些功能,但为了使用C/C+却得付出相当的学习成本、开发成本或维护成本。 设计Java的成员们以长年的开发经验判断,在使用一些C/C+的功能时,所得到的坏处可能多于好处(尤其是被一些没有经验的开发人员使用时),所以Java舍弃了C/C+中一些较少使用、难以掌握或可能不安全的功能,像指针(Pointer)、运算符重载(Operator Overloading)和多重继承(Multiple Inheritance)等。 Java除去一些C/C+复杂或不安全的功能,并在

11、许多开发人员常使用的特性上加以简化而使之易于使用。例如字符串在Java中的处理就更为简单;Java在设计时参考了许多C/C+的语法与特性,使得学习过C/C+的开发人员可以在短时间内了解如何使用Java。 了 解 Java1 面向对象的(Object-Oriented) 面向对象分析(Object-Oriented Analysis)是分析问题的一种方式,面向对象设计(Object-Oriented Design)是使用面向对象的思考方式来设计问题的解决方案。但是,要了解什么是面向对象,以及学会使用面向对象的方式进行设计与解决问题,并不是一件简单的事情,事实上让您了解面向对象正是这本书的目标之一

12、。 您先不用急于了解什么是面向对象,在后面的章节中会逐渐以实际的例子让您体会什么是面向对象。现阶段您所要了解的是,Java支持面向对象的设计方式。简单地说,Java让您可以用面向对象的思考方式来设计并编写程序。面向对象的好处之一,就是可以让您设计出可重用的组件,或者是直接使用别人所编写好的Java组件,并使开发出来的软件更具弹性且容易维护。 网络的(Network-Savvy) Java本身等于就是通过网络而产生的,它的许多功能与应用都与网络相关,从最初的Applet、简化的Socket、交互式的JSP/Servlet网络程序到今日热门的Web Service等,都注定了Java在网络相关的领

13、域占有一席之地。事实上,Java应用最多的领域也正是网络服务这一块。 编译的(Interpreted) 您要先知道一件事,程序在一个平台上要能够运行,必须先编译为该平台所能理解的原始机器语言(Native Machine Instructions), 但最大的问题在于每个平台所认识的机器语言各不相同。 例如Windows操作系统认识的机器语言就与Linux认识的不相同,专为Windows操作系统所编写并编译好的程序,并无法直接拿来在Linux操作系统上运行。 为了解决在不同平台间运行程序的问题,Java的程序在进行编译时,并不直接编译为与平台相对应的原始机器语言, 而是编译为与系统无关的 “字

14、节码”(Bytecodes)。 为了要运行Java程序, 运行的平台上必须安装有JVM(Java Virtual Machine),JVM等于是为Java程序所虚拟的环境。当运行Java程序时,Java实时编译器(Just In Time Compiler,JIT)会将字节码编译为目标平台所接受的原始机器语言, 通过JVM使得Java程序在不同平台上都能运行的目的得以实现,如图1-2所示。 5 6 图 1-2 JVM 将 Java 字节码转换为与平台相对应的机器语言 “平台”(Platform)一词并没有较严谨的定义,在计算机的领域中,平台有时指的是硬件,有时指的是作用于硬件之上的软件系统,有

15、时则指硬件加上软件,这里的平台指的是“操作系统” 。由于不同的硬件会运行不同的操作系统,所以这里对平台的定义也就是硬件加上软件。 良葛格的话匣子您可以在 Google(http:/ define:platform 来查询网络上各种对平台的定义。 健壮的(Robust) Java将C/C+中一些功能强大但不容易掌握的功能去除了。以指针(Point)功能为例,即使是有经验的开发人员在使用指针功能时也得小心翼翼,避免编写出使程序崩溃(Crash)的错误,诸如此类的功能在Java中被去除,为的是让Java在使用时更为简单,编写出来的程序更为健壮。 舍弃了C/C+的一些特性曾使得许多开发人员质疑没有了C

16、/C+的这些特性,Java还能开发什么软件?但从Java正式提出至今10年来已经证明,Java确实适用于开发各个领域的软件,而且拥有广大的网络资源。 安全的(Secure) Java加入了垃圾回收(Garbage Collection)机制,让开发人员无需担心对象资源的回收问题,异常(Exception)处理架构让开发人员可以掌握程序中各种突发的异常状况。另外,像synchronized、final等存取关键词的使用,目的都在于加强Java程序的安全性。 了 解 Java1 可移植的(Portable) 要让程序跨平台运行并不是一件容易的事,有相当多的因素必须考虑,例如数据类型所占内存长度就是一个问题,Java在不同的平台上的数据类型长度是统一的(而C/C+则不然)。这是Java在提高程序可移植性上最显而易见的一个例子。 高性能的(High-Performance) 高性能是Java所宣称的,在某些条件的配合下,Java号称可以与C/C+拥有同样甚至更好的运行性能, 但更多的人只是将这个宣称视为一个

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号