JAVA技术体系.pdf_第1页
JAVA技术体系.pdf_第2页
JAVA技术体系.pdf_第3页
JAVA技术体系.pdf_第4页
JAVA技术体系.pdf_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. JAVA 技术体系 1.1 Java 程序员 J a v a ,设计而又非常精巧的语言。学习 J a v a ,须从 J a v a开发环境开始,到 J a v a 语法,再到 J a v a 的核心 A P I 。 J a v a 核心编程技术: 1 . J a v a 开发入门: J a v a 开发环境的安装与使用, 包括 J D K 命令、 E c l i p s e I D E 、 L i n u x 下 J a v a 程序的开发和部署等。 2 . J a v a 语法基础:基于 J D K 和 E c l i p s e 环境,进行 J a v a 核心功能开发,掌 握 J a v a面向对象的语法构成,包括类、抽象类、接口、最终类、静态类、匿名 类、内部类、异常的编写。 3 . J a v a 核心 A P I :基于 J D K 提供的类库,掌握三大核心功能: A 。J a v a 核心编程: 包括 J a v a 编程的两大核心功能J a v a 输入/ 输出流和 多线程,以及常用的辅助类库实体类、集合类、正则表达式、X M L 和属性文 件。 B 。J a v a 图形编程:包括 S u n 的 G U I 库 A W T (J a v a 2 D 、J a v a S o u n d 、J M F )和 S w i n g ,I B M 和 G U I 库 S W T 和 J f a c e ; C . J a v a 网路编程: A p p l e t 组件编程, S o c k e t 编程, N I O 非阻塞 S o c k e t 编程、 R M I 和 C O R B A 分布式开发。 4 . J a v a高级特性:掌握 J D K 1 . 4 、J D K 5 . 0 、J D K 6 . 0中的 J a v a高级特性,包 括反射、泛型、注释,以及 j a v a高级特性自动装箱和拆箱、枚举类、可变 参数、可变返回类型、增强循环、静态导入等。 1.2 JavaEE 初级软件工程师 J S F 框架开发技术 配置文件(页面导航、后台 B e a n )、J S F 组件库(J S F E L 语言、H T M L 标签、 事件处理、)、J S F 核心库(格式转换、输入验证、国际化) J a v a w e b 核心开发技术 开发环境(E c l i p s e 、L i n u x ) 三大组件(J S P 、J a v a B e a n 、S e r v l e t ) 扩展技术(E L 、J S T L 、T a g l i b ) 网页开发技术 H T M L 、X M L 、C S S 、J a v a S c r i p t 、A J A X 数据库设计技术 S Q L 、M y S q l 、O r a c l e 、S Q L S e r v e r 、J D B C W e b 服务器 T o m c a t / J e t t y / R e s i n / J B o s s W e b J a v a W e b 核心技术: J a v a W e b 项目开发的全过程可以分解为: 网页开发+ 数据库设计 J a v a W e b 项目开发,其中, j a v a W e b 由 6 项基本技术组成:J S P + J a v a B e a n + S e r v l e t + E L + J S T L + T a g l i b 而 J S F 正是将这 6 种技术进行有机结合的技术框架: 1.3 JavaEE 中级软件工程师 四种经典架构 S S H 1 、S S I 1 、S S H 2 、S S I 2 S t r u t s 1 表现层框架 入门配置、核心组件、标签库、国际化、数据检验、数据库开发、S i t e m e s h 集成、集成 H i b e r n a t e / i B A T I S S t r u t s 2 表现层框架 入门配置、核心组件、标签库、国际化、数据校验、S i t e m e s h 集成转换器、 拦截器、集成 H i b e r n a t e / i B A T I S S p r i n g 业务层框架 入门配置、I o C 容器、M V C 、标签库、国际化、数据校验、数据库开发 H i b e r n a t e 持久层框架 M y S Q L 、O r a c l e 、S Q L S e r v e r i B A T I S 持久层框架 W e b 服务器 T o m c a t / J e t t y / R e s i n / J B o s s W e b 1.4 Java 高级软件工程师 j a v a W e b 开源技术与框架 工作流、规则引擎、搜索引擎,缓存引擎、任务调度、身份认证、报表服务、 系统测试、集群、负载平衡和故障转移 J a v a W e b 分布式开发技术 J T A (J a v a 事物管理) J A A S (J a v a 验证和授权服务) J N D I (J a v a 命名和目录服务) J a v a M a i l (J a v a 邮件服务) J M S (j a v a 信息服务)、W e b S e r v i c e ( w e b 服务) J C A (j a v a 连接体系)、J M S (j a v a 管理体系) 应用服务器 J B o s s A S / W e b L o g i c / W e b S p h e r e 1.5 JavaEE 系统架构师 面向云架构(C O A ) C O A 、S a a S 、网格计算、集群计算、分布式计算、云计算 面向资源架构(R O A ) R O A 、R E S I 面向 w e b 服务架构(S O A ) W e b S e r v i c e 、S O A 、S C A 、E S B 、O S G I 、E A I J a v a 设计模式 创建式模式:抽象工厂/ 建造者/ 工厂方法/ 原型/ 单例 构造型模式:适配器/ 桥接/ 组合/ 装饰/ 外观/ 享元/ 代理 行为型模式:责任链/ 命令/ 解释器/ 迭代子/ 中介者/ 备忘录/ 观察者/ 状态/ 策略/ 模板方法/ 访问者 J a v a 与 U M L 建模 对象图、用例图、组件图、部署图、序列图、交互图、活动图、正向工程与 逆向工程 1.6 CTO 首席技术官 发展战略 技术总监 团队提升 团队建设 项目管理 产品管理 2. Java 技术路线图 提示:前文对 J a v a 技术做了框架性的分析,包括 J a v a S E 、J a v a E E 和 J a v a M E ,让读者了解了 J a v a由哪些技术组成。为了系统地学习这些技术,本文将制 定一套完整的 J a v a 技术学习路线。 从前文中我们已经了解到,J a v a S E中包含了 J a v a的基础技术,J a v a E E 中包含了网络应用开发的各种技术,J a v a M E 中包含了移动设备应用开发的各种 技术,且 J a v a S E 是 J a v a E E 和 J a v a M E 的基础,所以对于 J a v a 技术的学习, 有两条学习路线: J a v a S E J a v a E E :主要进行网络应用开发,是 J a v a技术学习的一条完整 路线,是基于 J a v a E E 的企业应用开发,是目前 J a v a 应用的主要方向。 J a v a S E J a v a M E :主要进行无线应用开发,该技术路线相对简单一些。 J a v a S E J a v a E E 的技术由低到高形成了一个完整的体系,是 J a v a / J a v a E E 工程师成长必备的技术体系,下面我们就根据 J a v a S E J a v a E E 的技术体系制定 一套完整的学习路线。 2.1 Java EE 技术分类 根据 J a v a E E 技术的分层,我们可以将 J a v a E E 技术分为以下 3 类。 2.1.1 Web 应用技术 J D B C :J D B C (J a v a D a t a B a s e C o n n e c t i v i t y )是一个基于标准 S Q L 的数据库 访问接口, 主要用来连接数据库和直接调用 S Q L 命令执行各种 S Q L 语句和存储过 程。J D B C 相当与 M i c r o s o f t 平台中的 O D B C 。 S e r v l e t :S e r v l e t 是 J a v a 平台上的 C G I 技术。它在服务器端运行,用以动 态生成 W e b 页面。与传统的 C G I 和许多其他类似 C G I 的技术相比,J a v a S e r v l e t 具有更高的效率,它依靠线程的方式来支持并发访问。 J S P (E L / J S T L ):J S P (J a v a S e r v e r P a g e )是一种实现普通静态 H T M L 和动 态页面输出混合编码的技术,类似 M i c r o s o f t A S P 、P H P等技术。它借助内容和 外观表现的分离,使得 W e b 页面开发可以方便地划分给页面设计人员和程序员。 在运行时态,J S P 将会被首先转换成 S e r v l e t ,它的效率和功能与 S e r v l e t 相比 没有差别。 J a v a B e a n :封装业务逻辑的组件,可以实现业务组件的重用。 J S F :J S F (J a v a S e r v e r F a c e s )是一种专用于构建 J a v a W e b应用的页面组 件技术,它集成了 S e r v l e t 、J S P 、J a v a B e a n 、E L 、J S T L和自定义标签等各种页 面技术,方便绘制丰富的页面组件。 2.1.2 企业级应用技术 E J B :E J B定义了一组可重用的组件 E n t e r p r i s e B e a n s 。开发人员可以利用 这些组件,像搭积木一样建立分布式应用。E J B 为它的开发人员代管了诸如安全 性、远程连接、生命周期管理及事务管理等技术环节,简化了商业逻辑的开发。 J N D I :J N D I (J a v a N a m i n g a n d D i r e c t o r y I n t e r f a c e )用于定位分布式系 统中的各种对象,这些对象包括 E J B 、数据库驱动、J D B C 数据源及消息连接等, 还可以使用 J N D I 访问各种特定的目录服务,如 L D A P 、N D S 和 D N S 等。 J M S :J M S 消息服务是一组 J a v a 应用接口,它提供创建、发送、接收、读取 消息的服务,使得 J a v a应用能够和各种消息中间件进行通信,这些消息中间件 包括 I B M M Q - S e r i e s 、M i c r o s o f t M S M Q 及纯 J a v a 的 S o n i c M Q 。 J a v a M a i l :提供了一整套模拟邮件系统的抽象类。通过 J a v a M a i l ,可以创 建邮件或消息应用程序。 J A F :J a v a M a i l 利用 J a v a B e a n s A c t i v a t i o n F r a m e w o r k (J A F )来处理 M I M E - 编码的邮件附件。M I M E的字节流可以被转换成 J a v a对象,或者转换自 J a v a对 象。 J T A :J T A提供了 J a v a E E中处理事务的标准接口,它支持事务的开始、回 滚和提交。同时在 J a v a E E 平台上提供一个 J T S (J a v a T r a n s a c t i o n S e r v i c e ) 作为标准的事务处理服务,开发人员可以使用 J T A 来使用 J T S 。 J A C C: J A C C( J a v a A u t h o r i z a t i o n S e r v i c e P r o v i d e r C o n t r a c t f o r C o n t a i n e r s )在 J a v a E E 应用服务器和特定的授权认证服务器之间定义了一个连 接的协约,以便将各种授权认证服务器插入到 J a v a E E 产品中去。 J A A S :J A A S (J a v a A u t h e n t i c a t i o n a n d A u t h o r i z a t i o n S e r v i c e )实现了 一个 J a v a 版本的标准 P l u g g a b l e A u t h e n t i c a t i o n M o d u l e (P A M )框架。它可用 来进行用户身份的鉴定,还能通过对用户进行授权,实现基于用户的访问控制。 J C A :J C A (J a v a E E C o n n e c t o r A r c h i t e c t u r e )是 J a v a E E 体系架构的一部 分,它提供了一套连接各种企业信息系统(包括 E R P 、S C M 、C R M 等)的体系架构, 开发商只需要开发一套基于 J C A 的连接适配器,就能够在任何 J a v a E E 服务器中 连接并使用它。 J M X :J M X (J a v a M a n a g e m e n t E x t e n s i o n s )致力于解决分布式系统管理的问 题,它是一种应用编程接口、可扩展对象和方法的集合体,可以跨越各种异构操 作系统平台、系统体系结构和网络传输协议,开发无缝集成的面向系统、网络和 服务的应用。 2.1.3 Web 服务技术 J A X - R P C :通过使用 J A X - R P C (J a v a A P I f o r X M L - b a s e d R P C ),已有的 J a v a 类或 J a v a 应用都能够被重新包装,并以 W e b S e r v i c e s 的形式发布。J A X - R P C 提 供了将 R P C 参数(i n / o u t )编码和解码的 A P I ,使开发人员可以方便地使用 S O A P 消息来完成 R P C 调用,E J B 应用也可以使用 J A X - R P C 来包装成 W e b 服务。 S O A (S A A J ):S A A J (S O A P w i t h A t t a c h e m n t s A P I f o r J a v a )是 J A X - R P C 的一个增强,为进行低层次的 S O A P 消息操纵提供了支持。 J A X R :J A X R (J a v a A P I f o r X M L R e g i s t r i e s )提供了与多种类型注册服务 进行交互的 A P I 。J A X R运行客户端访问与 J A X R规范相兼容的 W e b S e r v c i c e s , 这里的 W e b S e r v i c e s 即为注册服务。一般来说,注册服务总是以 W e b S e r v i c e s 的形式运行的。 2.2 Java 技术学习路线图 J a v a E E技术,从简单到复杂依次包括:W e b应用技术、企业级应用技术、 W e b服务技术,除了这些技术之外,还有一些开源的框架技术,包括 W e b框架 S t r u t s / W e b W o r k / T a p s t r y ,业务层框架 S p r i n g ,持久层框架 H i b e r n a t e / i B A T I S , 这些也都是 J a v a E E 的应用技术。 这些技术虽然琳琅满目,但是也是层层递进,逐步形成了 J a v a E E 工程师的 学习技术路线。除了 J a v a E E 技术之外,还有 J a v a 基础技术、数据库基础、网 页开发技术需要在前期进行掌握。在学习了所有的 J a v a基础、J a v a E E技术之 后,再付诸于实践,你就达到了架构师的水平,进而走上技术管理的道路,可以 达到技术道路的峰顶C T O 。 为了层层递进学习这些技术,我们为(注:本图和图书拉页上的图近似,但 略有差异)。 2.3 关于“Java 高手真经” 引言:为了帮助 J a v a 工程师的成长之路,我们编著了“J a v a 高手真经”系 列图书,该系列与 J a v a技术学习路线层层对应,采用“快速原型法”(快速实 现可复用的原型系统)进行技术讲解,让读者边学边练,逐步提高。 1 、技术体系课程 根据 J a v a技术学习路线图,我们为每一步的技术设置了一个专题课程,如 下表所示。 2 、学习目标:了解企业流行技术,实战企业开发过程 大学生(或开发经验很少的程序员,下同)在毕业后去 I T公司面试与就业 时,面临一个问题,就是大学所学的知识与 I T 公司的知识结构脱节。 目前大学通常开设如下的基本课程:数据库原理、数据结构、操作系统、离 散数学、软件工程、C 语言、J a v a 语言。这些课程都是最基本的课程,通过学习 这些课程,大学生能够掌握 I T 开发的基础理论知识,显然在 I T 公司这些只是最 基本的理论知识。 I T公司要么是进行产品研发,要么是进行项目开发,但是都是基于项目实 践的,它要求的技能都是应用型的,例如:J a v a方面的 S t r u t s 、H i b e r n a t e 、 S p r i n g 、E c l i p s e ,. N E T方面的 V i s u a l S t u d i o 、A S P 、A S P . N E T ,数据库方面的 O r a c l e 、S Q L S e r v e r 、M y S Q L 等。 因为大学里学习的知识与 I T公司所要求的知识结构处于两个不同的层面, 在大学生参加就业面试时,往往出现面试者因为不熟悉 I T公司的知识结构,而 不能够很好地体现出自己的能力。 因此,我们就设计了这个系列,在大学毕业生与 I T 公司之间架起一座桥梁, 让大学毕业生能够在理论知识的基础上,扎实学习 I T公司的应用知识,进行技 术与经验的面试前培训。 3. Java 学习的 30 个目标 1 . 你需要精通面向对象分析与设计( O O A / O O D ) 、涉及模式( G O F ,J 2 E E D P ) 以及 综合模式。你应该十分了解 U M L ,尤其是 c l a s s ,o b j e c t ,i n t e r a c t i o n以及 s t a t e d i a g r a m s 。 2 . 你需要学习 J A V A语言的基础知识以及它的核心类库( c o l l e c t i o n s , s e r i a l i z a t i o n ,s t r e a m s ,n e t w o r k i n g ,m u l t i t h r e a d i n g ,r e f l e c t i o n ,e v e n t , h a n d l i n g ,N I O ,l o c a l i z a t i o n ,以及其他) 。 3 . 你应该了解 J V M ,c l a s s l o a d e r s ,c l a s s r e f l e c t ,以及垃圾回收的基本工 作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令。 4 . 如果你将要写客户端程序,你需要学习 W E B 的小应用程序( a p p l e t ) ,必需 掌握 G U I 设计的思想和方法,以及桌面程序的 S W I N G ,A W T ,S W T 。你还应该对 U I 部件的 J A V A B E A N组件模式有所了解。J A V A B E A N S也被应用在 J S P中以把业务逻 辑从表现层中分离出来。 5 . 你需要学习 j a v a数据库技术,如 J D B C A P I并且会使用至少一种 p e r s i s t e n c e / O R M 构 架 , 例 如 H i b e r n a t e, J D O, C o c o B a s e, T o p L i n k , I n s i d e L i b e r a t o r ( 国产 J D O 红工厂软件) 或者 i B a t i s 。 6 . 你还应该了解对象关系的阻抗失配的含义, 以及它是如何影响业务对象的 与关系型数据库的交互,和它的运行结果,还需要掌握不同的数据库产品运用, 比如: o r a c l e ,m y s q l ,m s s q l s e r v e r 。 7 .你 需 要 学 习J A V A 的 沙 盒 安 全 模 式 ( c l a s s l o a d e r s, b y t e c o d e v e r i f i c a t i o n ,m a n a g e r s ,p o l i c y a n d p e r m i s s i o n s , c o d e s i g n i n g, d i g i t a l s i g n a t u r e s, c r y p t o g r a p h y, c e r t i f i c a t i o n, K e r b e r o s, 以 及 其 他 )还 有 不 同 的 安 全 /认 证A P I, 例 如 J A A S ( J a v a A u t h e n t i c a t i o n a n d A u t h o r i z a t i o n S e r v i c e ), J C E ( J a v a C r y p t o g r a p h y E x t e n s i o n ) ,J S S E ( J a v a S e c u r e S o c k e t E x t e n s i o n ) ,以及 J G S S ( J a v a G e n e r a l S e c u r i t y S e r v i c e ) 。 8 . 你需要学习 S e r v l e t s ,J S P ,以及 J S T L ( S t a n d a r d T a g L i b r a r i e s ) 和可以选 择的第三方 T a g L i b r a r i e s 。 9 . 你需要熟悉主流的网页框架,例如 J S F ,S t r u t s ,T a p e s t r y ,C o c o o n , W e b W o r k ,以及他们下面的涉及模式,如 M V C / M O D E L 2 。 1 0 . 你需要学习如何使用及管理 W E B服务器,例如 t o m c a t ,r e s i n ,J r u n , 并且知道如何在其基础上扩展和维护 W E B 程序。 1 1 . 你需要学习分布式对象以及远程 A P I ,例如 R M I 和 R M I / I I O P 。 1 2 . 你需要掌握各种流行中间件技术标准和与 j a v a 结合实现,比如 T u x e d o 、 C R O B A ,当然也包括 j a v a E E 本身。 1 3 . 你需要学习最少一种的 X M L A P I , 例如 J A X P ( J a v a A P I f o r X M L P r o c e s s i n g ) , J D O M ( J a v a f o r X M L D o c u m e n t O b j e c t M o d e l ),D O M 4 J,或 J A X R ( J a v a A P I f o r X M L R e g i s t r i e s ) 。 1 4 . 你应该学习如何利用 J A V A A P I和工具来构建 W e b S e r v i c e 。例如 J A X - R P C ( J a v a A P I f o r X M L / R P C ), S A A J ( S O A P w i t h A t t a c h m e n t s A P I f o r J a v a ), J A X B ( J a v a A r c h i t e c t u r e f o r X M L B i n d i n g ), J A X M ( J a v a A P I f o r X M L M e s s a g i n g ), J A X R ( J a v a A P I f o r X M L R e g i s t r i e s ),或者 J W S D P ( J a v a W e b S e r v i c e s D e v e l o p e r P a c k ) 。 1 5 . 你需要学习一门轻量级应用程序框架,例如 S p r i n g ,P i c o C o n t a i n e r , A v a l o n , 以及它们的 I o C / D I 风格( s e t t e r , c o n s t r u c t o r , i n t e r f a c e i n j e c t i o n ) 。 1 6 . 你需要熟悉不同的J 2 E E技术,例如 J N D I ( J a v a N a m i n g a n d D i r e c t o r y I n t e r f a c e ) ,J M S ( J a v a M e s s a g e S e r v i c e ) , J T A / J T S ( J a v a T r a n s a c t i o n A P I / J a v a T r a n s a c t i o n S e r v i c e ), J M X ( J a v a M a n a g e m e n t e X t e n s i o n s ) ,以及 J a v a M a i l 。 1 7 . 你需要学习企业级 J a v a B e a n s ( E J B ) 以及它们的不同组件模式: S t a t e l e s s / S t a t e f u l S e s s i o n B e a n s,E n t i t y B e a n s (包含 B e a n - M a n a g e d P e r s i s t e n c e B M P 或者 C o n t a i n e r - M a n a g e d P e r s i s t e n c e C M P 和 它的 E J B - Q L ) ,或者 M e s s a g e - D r i v e n B e a n s ( M D B ) 。 1 8 . 你需要学习如何管理与配置一个 J 2 E E应用程序服务器,如 W e b L o g i c , J B o s s 等,并且利用它的附加服务,例如簇类,连接池以及分布式处理支援。你 还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它的性能。 1 9 . 你需要熟悉面向方面的程序设计以及面向属性的程序设计( 这两个都被 很容易混淆的缩写为 A O P ) ,以及他们的主流 J A V A 规格和执行。例如 A s p e c t J 和 A s p e c t W e r k z 。 2 0 . 你需要熟悉对不同有用的 A P I和 f r a m e w o r k等来为你服务。例如 L o g 4 J ( l o g g i n g / t r a c i n g ),Q u a r t z ( s c h e d u l i n g ), J G r o u p s ( n e t w o r k g r o u p c o m m u n i c a t i o n ) ,J C a c h e ( d i s t r i b u t e d c a c h i n g ) , L u c e n e ( f u l l - t e x t s e a r c h ) ,J a k a r t a C o m m o n s 等等。 2 1 . 如果你将要对接或者正和旧的系统或者本地平台,你需要学习 J N I ( J a v a N a t i v e I n t e r f a c e ) a n d J C A ( J a v a C o n n e c t o r A r c h i t e c t u r e ) 。 2 2 . 你需要熟悉 J I N I 技术以及与它相关的分布式系统,比如掌握 C R O B A 。 2 3 . 你需要J a v a C o m m u n i t y P r o c e s s ( J C P ) 以及他的不同 J a v a S p e c i f i c a t i o n R e q u e s t s ( J S R s ), 例 如P o r t l e t s ( 1 6 8 ), J O L A P ( 6 9 ), D a t a M i n i n g A P I ( 7 3 ) ,等等。 2 4 . 你应该熟练掌握一种 J A V A I D E例如 s u n O n e ,n e t B e a n s ,I n t e l l i J I D E A 或者 E c l i p s e 。( 有些人更喜欢 V I 或 E M A C S 来编写文件。随便你用什么了:) 2 5 . J A V A ( 精确的说是有些配置) 是冗长的,它需要很多的人工代码( 例如 E J B ) ,所以你需要熟悉代码生成工具,例如 X D o c l e t 。 2 6 . 你需要熟悉一种单元测试体系( J N u n i t ) ,并且学习不同的生成、部署工 具( A n t ,M a v e n ) 。 2 7 . 你需要熟悉一些在 J A V A开发中经常用到的软件工程过程。例如 R U P ( R a t i o n a l U n i f i e d P r o c e s s ) a n d A g i l e m e t h o d o l o g i e s 。 2 8 . 你需要能够深入了解加熟练操作和配置不同的操作系统 ,比如 G N U / l i n u x ,s u n s o l a r i s ,m a c O S 等,做为跨平台软件的开发者。 2 9 . 你还需要紧跟 j a v a发展的步伐,比如现在可以深入的学习 j a v a M E ,以 及各种 j a v a 新规范,技术的运用,如新起的 w e b 富客户端技术。 3 0 . 你必需要对 o p e n s o u r c e 有所了解,因为至少 j a v a 的很多技术直接是靠 开源来驱动发展的,如 j a v a 3 D 技术。 4. J A V A 概念汇集介绍 初接触 j a v a , 被一大堆概念搞迷糊了。 什么 j a v a 、 j a v a 2 、 j 2 s e 、 j 2 e e 、 j 2 m e 、 j a v a b e a n s 、E J B 呀,都是些什么呀?糊涂哟! 先澄清个事情, 自从j d k 1 . 2 推出以后, s u n 公司就将j a v a 重新命名为j a v a 2 , 现在所提的 j a v a 一般就是指 j a v a 2 。 之所以 j a v a 显得如此神秘,是因为,j a v a 既是一种变成语言,也是一个平 台(p l a t f o r m ),或者说是架构。如果不了解 j a v a 平台,就无法理解 j a v a 。遗 憾的是很少有人能深入浅出的讲解 j a v a 平台。 如果撇开 j a v a 平台, 仅仅作为一种编程语言, j a v a 在语法以及编程思想 (指 c o d i n g方面)上与传统语言没有多大本质区别。j a v a具有纯面向对象、优化的 内存管理模型等等好处,具体细节查书吧,我写也是 c o p y & p a s t e ,没意思哦。 下边我就按照我的理解说说 j a v a 平台。 首先说,编译后的 j a v a程序并不是直接可以在某个特定操作系统上运行的 二进制代码,而是一种所谓的字节码。要把安装了 j a v a v m的计算机看成一个虚 拟机,字节码只能在这个虚拟机上运行。至于真正的硬件和操作系统是什么并不 重要。什么?您没听说过虚拟机?那赶紧把计算机原理翻出来看看,我可讲 不了这么高深的东东。 其实不明白也无妨, 只要知道无论在 w i n 、 * n i x 抑或 m a c O S 上要运行 j a v a 语言编的程序必须安个叫 j a v a 虚拟机的玩意就够了。 说到这里,有心人已经可以想见,既然 j a v a 写的程序是运行在 j a v a 虚拟机 上,那么同一个编译后的 j a v a就可以在任何 j a v a虚拟机上运行,而不必关心 j a v a 虚拟机下到底是什么操作系统什么硬件了。 这也就是一直吹嘘的 “一 次编写,处处运行”特性。好像很自然就引出来了,看到大学里基础课程的重要 性了吧,哈哈! 了解了这一点以后就可以继续了。 J a v a体系结构的基础是 j 2 s e (j a v a 2 p l a t f o r m , s t a n d a r d e d i t i o n s ),顾名 思义,标准版。j 2 s e 最底层是 J R E (j a v a 运行环境),J R E 提供包括 j a v a a p i 、 j a v a虚拟机和其他支持 a p p l e t以及 j a v a应用程序运行的组件等。也就是说安 装了 J R E ,就可以运行由 j a v a 编写的各种程序了。有了 J R E 还不能开发 j a v a 程 序,想开发 j a v a 程序还需要 j d k (j a v a 开发包),对应 w i n 中的 s d k 。J d k 自然 中 包 括c o m p i l e r 和d e b u g e r 等 等 工 具 。 具 体 内 容 参 考 h t t p : / / j a v a . s u n . c o m / j 2 s e / o v e r v i e w . h t m l 吧,人家官方网站讲得蛮清楚。 J

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论