Java课程


Java Platform,Micro Edition(Java ME)为运行在移动和嵌入式设备上的应用程序提供了一个强大灵活的环境:手机、机顶盒、蓝光播放器、数字媒体设备、M2M 模块、打印机以及其他设备。Java ME 技术最初创建用于处理与为小型设备构建应用程序有关的约束。出于此目的,Oracle 定义了 Java ME 技术的基础以适应如此有限的环境,让其能够创建在内存、显示器和功率有限的小型设备上运行的 Java 应用程序。


Sun Microsystems 提供了完整的 Java 技术产品,依市场需求主要区分为三个不同的种类,包括了 Java SE、 Java ME 与 Java EE。

Java SE

对於想要学习 Java 程式开发的使用者而言,最先必须接触的,也是必备的 Java 技术基础是 Java SE,全名为 Java™ Java 标准版Standard Edition,也就是 Java 标准版,这一个主要是用於开发桌面应用程式,或是浏览器中内嵌的 Applet 程式,例如您可以基於 Java SE 开发一个文字编辑程式。

Java ME

对於资源受限的消费性电子产品,例如手机, PDA, kios和其他各式嵌入式系统,像 这类的设备不若电脑本身拥有丰富的资源(像强大的 CPU 与充足的记忆体) ,若要开发这类设备上的应用程式,可以 使用 Java ME 这个版本,全名为 Java™ Micro Edition,也就是 Java 微型版,现在非智慧型手机上若声称有支援 Java,多半是 由这个版本所开发出来的程式。

Java EE

对於大型、 企业级网站而开发的应用程式 Java 提供了 Java EE 这个版本让设计人员来进行开发,全名为 Java™ Enterprise Edition,也就是 Java 企业版,Java EE 以 Java SE 为基础,在架构上与开发的规模上都比 Java SE 庞大许多,在所应用的技术上,比较为人所耳熟能详的像是 JSF、Servlet、EJB、JAP等。

理解

对Java的的理解如下:它一个工具,一个用纯java语言写的跨平台的,一个通用的Ascii码图形化的文本编辑器。其功能和微软的记事本有些类似,主要是一个字处理工具,但提供图形化输入;操作像是微软的画图软件,因为该软件主要是通过鼠标进行文本的编辑。


进一步看了一下该软件的功能,操作和功能并不复杂。该软件主要的卖点是授权开发源代码方式,其用百分之百java语言开发的跨平台特点。

历史

1991年 ,SUN MicroSystem公司的 Jame Gosling、 Bill Joe等人 ,为在电 视、控制烤面包箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak 的软件 (即一种橡树的名字 ),但当时并没有引起人们的注意 ,直到 1994年下半 年 ,Internet的迅猛发展 ,环球信息网 WWW的快速增长 ,促进了Java语言研制的 进展 ,使得它逐渐成为 Internet上受欢迎的开发与编程语言 ,一些著名的计算机 公司纷纷购买了 Java语言的使用权 ,如 IBM、Oracle、 Netscape、 Novell、 Apple等 ,因此 ,Java语言被美国的著名杂志 PC Magazine评为 1995 年十大优秀科技产品 ,(计算机类就此一项入选 ),随之大量出现了用Java编写的 软件产品 ,受到工业界的重视与好评 ,认为 "Java是八十年代以来计算机界的一件 大事 ",微软总裁比尔·盖茨在悄悄地观察了一段时间后 ,不无感慨地说 :"Java是 长时间以来最卓越的程序设计语言 ",并确定微软整个软件开发的战略从 PC单机时 代向着以网络为中心的计算时代转移 ,而购买 Java则是他的重大战略决策的实施部署。


因此 ,Java的诞生必将对整个计算机产业发生深远的影响 ,对传统的计算模型提出了新的挑战。

前景

Java语言有着广泛的应用前景 ,大体上可以从以下几个方面来考虑其应用 :


1. 所有面向对象的应用开发 ,包括面向对象的事件描述、处理、综合等 ;

2. 计算过程的可视化、可操作化的软件的开发 ;

3. 动态画面的设计 ,包括图形图像的调用 ;

4. 交互操作的设计 (选择交互、定向交互、控制流程等 );

5. Internet的系统管理功能模块的设计 ,包括Web页面的动态设计、管理 和交互操作设计等 ;

6. Intranet(企业内部网 )上的软件开发(直接面向企业内部用户的软件 );

7. 与各类数据库连接查询的 SQL语句实现 ;

8. 进行手机通讯和其他的一些嵌入式的开发(比如手机和网络游戏)

9. 其它应用类型的程序。

特点

Java是一个广泛使用的网络编程语言,它是一种新的计算概念。


首先 ,作为一种程序设计语言,它简单、面向对象、不依赖于机器的结构、 具有可移植性、鲁棒性、安全性、并且提供了并发的机制、具有很高的性能。


其次 ,它最大限度地利用了网络,Java的小应用程序(applet)可在网络上传输而不受 CPU和环境的限制。另外 ,Java还提供了丰富的类库 ,使程序设计者可以很 方便地建立自己的系统。


下面我们分别从这三个方面来讨论 Java的特点 ,然后通过把Java与 C, C++相比进一步指出它所具有的优点。

简单性

Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念 ,就可以用它编写出适合于各种情况的应用程序。


Java略去了运算符重载、多重继承等模糊的概念 ,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。


另外,Java也适合于在小型机上运行,它的基本解释器及类的支持只有 40KB左右,加上标准类库和线程的支持也只有 215KB左右。库和线程的支持也只有 215KB左右。


面向对象

Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。


对象中封装了它的状态变量以及相应的方法 ,实现了模块化和信息 隐藏 ;而类则提供了一类对象的原型 ,并且通过继承机制 ,子类可以使用父类 所提供的方法 ,实现了代码的复用。

分布性

Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户 可以通过 URL地址在网络上很方便地访问其它对象。

鲁棒性

Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。


它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。


通过集成的面向对象的例外处理机制 ,在编译时,Java提示出可能 出现但未被处理的例外 ,帮助程序员正确地进行选择以防止系统的崩溃。


另外,Java在编译时还可捕获类型声明中的许多常见错误 ,防止动态运行时不匹配问题 的出现。

安全性

用于网络、分布环境下的Java必须要防止病毒的入侵。


Java不支持指针, 一切对内存的访问都必须通过对象的实例变量来实现 ,这样就防止程序员使用 "特洛伊 "木马等欺骗手段访问对象的私有成员 ,同时也避免了指针操作中容易 产生的错误。

体系结构中立

Java解释器生成与体系结构无关的字节码指令 ,只要安装了 Java运行时系统 ,Java程序就可在任意的处理器上运行。


这些字节码指令对应于 Java虚拟 机中的表示 ,Java解释器得到字节码后 ,对它进行转换 ,使之能够在不同的平台运行。

可移植性

与平台无关的特性使 Java程序可以方便地被移植到网络上的不同机器。


同时 ,Java的类库中也实现了与不同平台的接口 ,使这些类库可以移植。


另外,Java编译器是由 Java语言实现的 ,Java运行时系统由标准 C实现 ,这使得Java 系统本身也具有可移植性。

解释执行

Java解释器直接对 Java字节码进行解释执行。字节码本身携带了许多 编译时信息 ,使得连接过程更加简单。

高性能

和其它解释执行的语言如 BASIC、 TCL不同 ,Java字节码的设计使之能 很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。

多线程

多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据 的正确操作。


通过使用 多线程 ,程序设计者可以分别用不同的线程完成特定 的行为 ,而不需要采用全局的事件循环机制 ,这样就很容易地实现网络上的实 时交互行为。

动态性

Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入 新的方法和实例变量而不会影响用户程序的执行。并且 Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。

架构

与J2SE和J2EE相比,J2ME总体的的运行环境和目标更加多样化,但其中每一种产品的用途却更为单一,而且资源限制也更加严格。为了在达到标准化和兼容性的同时尽量满足不同方面的需求,J2ME的架构分为Configuration、Profile和Optional Packages(可选包)。它们的组合取舍形成了具体的运行环境。


Configuration主要是对设备纵向的分类,分类依据包括存储和处理能力,其中定义了虚拟机特性和基本的类库。已经标准化的Configuration有- Connected Limited Device Configuration(CLDC)和Connected Device Configuration(CDC)。


Profile建立在Configuration基础之上,一起构成了完整的运行环境。它对设备横向分类,针对特定领域细分市场,内容主要包括特定用途的类库和API。CLDC上已经标准化的Profile有Mobile Information Device Profile(MIDP)和Information Module Profile(IMP),而CDC上标准化的Profile有Foundation Profile(FP)、Personal Basis Profile(PBP)和Personal Profile(PP)。


可选包独立于前面两者提供附加的、模块化的和更为多样化的功能。目前标准化的可选包包括数据库访问、多媒体、蓝牙等等。

架构

开发Java ME程序一般不需要特别的开发工具,开发者只需要装上Java SDK及下载免费的Sun Java Wireless Toolkit就可以开始编写Java ME程式,编译及测试,此外主要的IDE(Eclipse及NetBeans)都支持Java ME的开发,个别的手机开发商如Nokia及Sony Ericsson都有自己的SDK,供开发者在开发出兼容于他们的平台的程序。