《Java平台体系》——第一章 Java平台概述

注意:对Java陌生的朋友请Google“Java简史”,英文好点的请Google“A Short History of Java”。


提及Java大家常说的是Java语言(根据自己的需要可以跳跃阅读 第三章 Java语言速读​),它是面向对象(何谓面向对象?请参考 第三章Java语言速读​)的一门高级语言,其风格类C++。除语言之外大家可能更熟悉的就是JDK(Java开发包),JRE(Java运行环境),Eclipse( http://www.eclipse.org​ Java集成开发环境)等。由于Java应用程序在桌面环境中的安装和部署相对繁琐,其AWT/Swing的窗体界面“笨拙”等因素(目前Java社区极力推进的 JavaFX​正在试图改变Java在桌面窗体上的不足),国内Java主要用于开发一些企业级WEB应用,所以大家接触更多的是 Java EE​(原来叫J2EE,也是Java用于企业开发的一套规范平台体系)。无论大家原来接触什么,我这里还是明晰一下一些基本概念。


图1 Java平台概述主要内容思维导图

1.1 Java平台体系的三个版本


图2 Java平台体系的三个版本

Java平台目前可以分为三个“版本”,分别为Java ME 、Java SE和Java EE。其中Java SE和Java ME是两种针对不同设备的Java技术平台,Java ME主要针对运算能力有限或供电能力有限的设备,其实如果没有设备能力的限制,我们完全可以用Java SE替代Java ME从而获得更多的功能特性,换句话来说,我们可以把Java ME理解为Java SE的一个“简化”版本(可以参考我本人几年前的一篇入门级文章 Google “Java版本谈”)。Java最初以“Applet(Java的一种可以嵌入到web页面的插件开发模型)”的形式进入我们视野,那时的“Applet”我们可以理解为Java SE的一种部署方式,提升之后的方式现在叫Java Start(如果你知道Adobe的AIR部署方式,那Java Start和其类似)。但当初Java最吸引我的是Java宣称的“ 一次编译,随处运行”,就因为这句话,Java的诞生和我们在大学接触到的汇编、C、C++等有了区别,从而一定程度上提升了Java的“高级”特性。

Java EE与Java SE和Java ME是完全不同的概念,Java EE是在Java SE的基础上提出的一套针对企业级应用(所谓企业级应用我们暂且可以理解为对分布式、安全、事务等要求比较高的应用,在后面的章节我们会详细讨论Java EE)的平台框架,或者说规范集。

无论你要学习Java ME还是Java EE,从Java SE出发是我们注重“基础”的必经之路,所以 本书首先从Java SE平台开始谈起,在没有特别说明的情况下本书中谈得都是Java SE。当我们学习完Java SE,我们再横向类比学习Java ME,然后再学习Java EE应该是一种有效的学习曲线选择。

1.2 Java不仅仅是Java编程语言

我们再把前言部分的图表Java SE平台贴出来( 注:在阅读Java平台体系的过程中请始终把下图保持在头脑中作为我们教程线索):


图3 Java SE平台

上图我并没有翻译,英文不是很好的朋友没关系,后面我始终保持中英文对照解释,相信本书英文单词和术语不会是你阅读的障碍。为了便于理解我对上图作一个抽象(该抽象同样适合.NET):


----------------------------------------------------
题外话:
Java官方为Sun,Sun又被Oracle收购,但采用Java技术平台并不意味着你完全必须依赖于那个公司,Java技术平台首先在我们理解的“接口”层面主要以规范JSR(Java Specification Requests, http://jcp.org​ )的形式存在,就目前来看,谈那些平台不被任何厂商影响是不现实的,但谈那些平台要被大量的开发者支持而又不开放也是不现实的(难道iOS例外?不,不会例外。这就是Andorid的机会)。
----------------------------------------------------

大家常打交道的是Java语言(Java Language)、Java工具(Tools)和一些接口(API)。当我们通过IDE(集成开发环境)或者Javac(Java JDK提供的一个编译工具)把我们写的Java代码编译之后,我们基本就交给JRE(Java运行环境)了,其它的可能大家不会常打交道了,但Java不仅仅是Java语言,它是一个“平台”,在这个“平台”上我们可以用其它语言(例如Ruby、Java Script、Groovy、Scala等)编写程序并运行程序。正如Java之父James Gosling说过他看重的并非是Java语言,而是JVM,特别是在大家热烈讨论Java语言是否老态龙钟时理解这点很重要。

1.3 小结

□ Java平台有三个版本,分别为Java ME,Java SE和Java EE。Java ME是为了满足运算能力有限或电源能力有限的设备而“简化”的版本,可以理解为是Java SE的一个“简化版本”。Java EE与Java ME、Java SE有本质的区别,Java EE是在Java SE的基础上进一步的扩展,主要满足一些企业级应用需求。

□ Java技术平台主要以JDK的方式提供给开发者,其主要由Java语言本身、工具、Java运行环境(JRE)三部分组成。

□ Java“ 一次编译,随处运行”的承诺使其比我们大学里学的C/C++更加“高级”(所谓高级就是更加人性化,或者说能够使开发者将更多精力投入具体的业务逻辑,而不是被内存管理、语法等累得焦头烂额)。

接下来的内容中我们将会从下到上逐个学习图表 Java SE平台​中提到的每一部分内容(注意:我们不单独介绍图表 Java SE平台​中操作系统部分,关于操作系统与Java平台体系相关的一些基础知识,会在具体的内容中穿插进去)。

阅读建议:虽然我打算从底层出发阐述Java平台体系,但目的还是让大家写好程序,如果对Java语言你纯粹是新手,建议阅读 第三章Java语言速读
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值