Java核心技术卷感悟:第一章 Java 程序设计概述
Java的第一次发布就引起了人们的极大兴趣,Java 是一种功能齐全的出色语言,是一个高质量的执行环境, 还提供了一个庞大的库。正是因 为它集多种优势于一身,所以对广大的程序设计人员有着不可抗拒的吸引力。
Java白皮书有11 个关键术语:
1 ) 简单性 2 ) 面向对象 3 ) 分布式 4 ) 健壮性 5 ) 安全性 7 ) 可移植性 8 ) 解释型 9 ) 高性能 10 ) 多线程 11 ) 动态性 6 ) 体系结构中立
- 简单性:Java 语法是 C++ 语法的一个“ 纯净” 版本,这里没有头文件、 指针运算、结构、 联合、 操作符重载、 虚基类等。简单的另一个方面是小,现在有 一个独立的具有较小类库的 Java 微型版。
- 面向对象:开发 Java 时面向对象技术已经相当成熟。 Java 的面向对象特性与 C++ 旗鼓相当。Java 与 C++ 的主要不同点在于多重继承,在 Java 中,取而代之的是更简单的接口概念。
- 分布式:Java 有一个丰富的例程库,用于处理像 HTTP 和 FIT 之类的 TCP/IP 协议。
- 健壮性:Java 编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
- 安全性:从一开始,Java 就设计成能够防范各种攻击,不过,Java 的安全模型很复杂。遭遇多次高调攻击之后, 浏览器开发商和 Oracle 都越来越谨慎 。现在看来, 尽管 Java 安全模型没有原先预想的那么成功, 但 Java 在那个时代确 实相当超前。
- 体系结构中立:编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码, 只要有 Java 运行时系统, 这些编译后的代码可以在许多处理器上运行。
- 可移植性:在 Java 中,数据类型具有固定的大小, 这消除了代码移植时令 人头痛的主要问题。
- 解释性:Java 解释器可以在任何移植了解释器的机器上执行 Java 字节码
- 高性能:尽管对解释后的字节码性能已经比较满意,但在有些场合下还需要更加高效的 性能。字节码可以(在运行时刻)动态地翻译成对应运行这个应用的特定 CPU 的机 器码。即时编译器可以监控经常执行哪 些代码并优化这些代码以提高速度。
- 多线程:多线程可以带来更好的交互响应和实时行为。Java 在当时很超前,它是第一个支持并发程序设计的主流语言。
- 动态性:从各种角度看, Java 与 C 或 C++ 相比更加具有动态性。它能够适应不断发展 的环境。例如:在 Java 中找出运行时类型信息十分简单
Java发展简史:
Java 的历史要追溯到 1991 年,由 Patrick Naughton 和 James Gosling Sun 带领的Sun公司的工程师小组想要设计一种小型的计算机语言, 这个项目被命名为“ Green”。这个“ Green”项目代码短小、 紧凑且与平台无关, 这些要求促使开发团队设计一个可移植的语言, 可以为 虚拟机生成中间代码。Gosling 把这种语言称为“ Oak ”,后来发现 Oak 是一种已有的计算机语言的 名字,于是, 将其改名为 Java。
1996 年年初,Sun 发布了 Java 的第 1 个版本。人们很快地意识到 Java1.0 不能用来进行 真正的应用开发。后 来的 Java 1.1弥补了其中的大多明显的缺陷 。 大大改进了反射能力,并为 GUI 编程增加了新 的事件处理模型:不过它仍然具有很大的局限性。
1998 年 JavaOne 会议的头号新闻是即将发布 Java 1.2 版。这个版本取代了早期玩具式的 GUI, 并且它的图形T.具箱更加精细而具有可伸缩性,更加接近“ 一次编写, 随处运行” 的 承诺。除了‘ 标准版’ 之外,Sun 还推出了两个其他的版本:一个是用于手机等嵌人式设备的‘ 微 型版”;另一个是用于服务器端处理的“ 企业版”。
标准版的 1.3 和 1.4 版本对最初的 Java 2 版本做出了某些改进, 扩展了标准类库,提高 系统性能。
5.0 版是自 1.1 版以来第一个对 Java 语言做出重大改进的版本(这一版本原来被命名为 1.5 版,在 2004 年的 JavaOne 会议之后,版本数字升至 5.0 )。
版本 6 ( 没有后缀 .0 ) 于 2006 年年末发布。 同样,这个版本没有对语言方面再进行改进。 但是,改进了其他性能,并增强了类库。
Sun Microsystems 公司沦陷, 于 2009 年被 Oracle 收购 _ Java 的开发停滞了很长一段时间。
2011年 Oracle 发布了 Java 的一个新版本,Java 7, 其中只做了一些简单的改进。
2014 年 ,Java 8终于发布,在近 20 年中这个版本有了最大的改变。Java 8 提供了一种“ 函数式” 编程方式,可以很容易地表述并发执行的计算。 所有编程语言都必须与时俱进,Java 在这方面显示出非凡的能力
关 于 Java 的常见误解:
Java 是 HTML 的扩展:两者没有任何共同之处
Java 是一种非常容易学习的程序设计语言:像 Java 这种功能强大的语言大都不太容易学习。
Java 是解释型的, 因此对于关键的应用程序速度太慢了:早期的 Java 是解释型的。 现在 Java 虚拟机使用了即时编译器, 因此采用 Java 编写的 “ 热点” 代码其运行速度与 C++ 相差无几, 有些情况下甚至更快。
JavaScript 是 Java 的简易版:JavaScript 的语法类似 Java, 除此之外,两者无任何关系。
Java 只不过是另外一种程序设计语言:Java 是一种很好的程序设计语言,程序设计语言的成功更多地取决于其支撑系统的能力, 而不是优美的语 法。Java 的成功源于其类库能够让人们轻松地完成原本有一定难度的事情。
Java 将成为适用于所有平台的通用性编程语言:从理论上讲, 这是完全有可能的。 但在实际中, 某些领域其他语言有更出色的表现。
