Java 核心技术卷一 之Java 程序设计概述

1.1 Java 程序设计平台

Java 并不只是一种语言在此之前出现的那么多种语言也没有能够引起那么大的轰动。Java 是一个完整的平台有一个庞大的库其中包含了很多可重用的代码和一个提供诸如安全性、 跨操作系统的可移植性以及自动垃圾收集等服务的执行环境

有些语言提供了可移植性、 垃圾收集等 但是 没有提供一个大型的库 如果想要有奇特的绘
图功能 网络连接功能和数据库存取功能就必须自己动手编写代码 Java 具备所有这些特性
它是一种功能齐全的出色语言 是一个高质量的执行环境 还提供了一个庞大的库 正是因
为它集多种优势于一身 所以对广大的程序设计人员有着不可抗拒的吸引力

1.2 Java白皮书的关键术语

1 ) 简单性
2 ) 面向对象
3 ) 分布式
4 ) 健壮性
5 ) 安全性
7 ) 可移植性
8 ) 解释型
9 ) 高性能
10 ) 多线程
11 ) 动态性
6 ) 体系结构中立
 

1 . 2.1 简单性

Java 语法是 C + + 语法的一个 纯净 版本 这里没有头文件 指针运算 甚至指
针语法 ) 结构 联合 操作符重载 虚基类等 请参阅本书各个章节给出的 C + + 注释
中比较详细地解释了 Java C + + 之间的区别 然而 设计者并没有试图清除 C + + 中所有不
适当的特性 例如 switch 语句的语法在 Java 中就没有改变 如果你了解 C + + 就会发现可
以轻而易举地转换到 Java语法

1 . 2.2 面 向 对 象

开发 Java 时面向对象技术已经相当成熟 Java 的面向对象特性与 C + + 旗鼓相当 Java
C ++ 的主要不同点在于多重继承 Java 取而代之的是更简单的接口概念 C + +
相比 Java 提供了更丰富的运行时自省功能

1 . 2.3 分布式

Java 有一个丰富的例程库 用于处理像 HTTP FIT 之类的 TCP / IP 协议 Java 应用
程序能够通过 URL 打开和访问网络上的对象 其便捷程度就好像访问本地文件一样
如今 这一点已经得到认可

1 . 2.4 健壮性

Java 投入了大量的精力进行早期的问题检测、 后期动态的 运行时 检测 并消除了容易出
错的情况 … … Java C + + 最大的不同在于 Java 采用的指针模型可以消除重写内存
和损坏数据的可能性

1 . 2.5 安全性

Java 适用于网络 / 分布式环境 为了达到这个目标 在安全方面投入了很大精力。 使用 Java 可以构建防病毒 防篡改的系统。 从一开始, Java 就设计成能够防范各种攻击 其中包括
•运行时堆栈溢出。 如蠕虫和病毒常用的攻击手段
破坏自己的进程空间之外的内存
未经授权读写文件

1 . 2.6 体系结构中立

编译器生成一个体系结构中立的目标文件格式 这是一种编译过的代码 只要有
Java 运行时系统 这些编译后的代码可以在许多处理器上运行 Java 编译器通过生成
与特定的计算机体系结构无关的字节码指令来实现这一特性 精心设计的字节码不仅
可以很容易地在任何机器上解释执行 而且还可以动态地翻译成本地机器代码

1.2.7 可移植性

1 . 2.8 解释型

Java 解释器可以在任何移植了解释器的机器上执行 Java 字节码
 

1 . 2.9 高性能

尽管对解释后的字节码性能已经比较满意 但在有些场合下还需要更加高效的
性能 字节码可以 在运行时刻 动态地翻译成对应运行这个应用的特定 CPU 的机
器码

1 . 2.1 0 多线程

多线程可以带来更好的交互响应和实时行为

1 . 2.1 1 动态性

从各种角度看 Java C C + + 相比更加具有动态性 它能够适应不断发展
的环境库中可以自由地添加新方法和实例变量 而对客户端却没有任何影响
Java 中找出运行时类型信息十分简单

1.4 Java 发展简史

Java 的历史要追溯到 1991 Patrick Naughton James Gosling ( 一个全能的计算机
奇才 带领的 Sun 公司的工程师小组想要设计一种小型的计算机语言 主要用于像有线电视
转换盒这类的消费设备
另外 由于不同的厂商会选择不同的中央处理器 CPU ) , 因此这种语言的关键是不与任何特定的体系结构捆绑在一起。 这个项目被命名为 Green 。代码短小、 紧凑且与平台无关 这些要求促使开发团队设计一个可移植的语言 可以为虚拟机生成中间代码。
Gosling 把这种语言称为 Oak 这么起名的原因大概是因为
他非常喜欢自己办公室外的橡树 ) Sun 公司的人后来发现 Oak 是一种已有的计算机语言的
名字 于是 将其改名为 Java 事实证明这是一个很有灵感的选择
1992 Green 项目发布了它的第一个产品 称之为 * 7 这个产品具有非常智能的
远程控制 遗憾的是 Sun 公司对生产这个产品并不感兴趣 Green 项目组的人员必须找出
其他的方法来将他们的技术推向市场 然而 没有一个标准消费品电子公司对此感兴趣
Green 项目组竞标了一个提供视频点播等新型服务的有线电视盒的项目 但没有成功
趣的是 得到这个项目的公司的领导恰恰是开创 Netscape 公司的 Jim Clark Netscape 公司后
来对 Java 的成功给予了很大的帮助
1996 年年初 Sun 发布了 Java 的第 1 个版本 人们很快地意识到 Java 1.0 不能用来进行
真正的应用开发 的确 可以使用 Java 1.0 来实现在画布上随机跳动的神经质的文本 applet
但它却没有提供打印功能 坦率地说 Java 1.0 的确没有为其黄金时期的到来做好准备
来的 Java 1 丨弥补了其中的大多明显的缺陷 . 大大改进了反射能力 并为 GUI 编程增加了新
的事件处理模型 不过它仍然具有很大的局限性
1998 JavaOne 会议的头号新闻是即将发布 Java 1.2 这个版本取代了早期玩具式的
GUI , 并且它的图形 T . 具箱更加精细而具有可伸缩性 更加接近 一次编写 随处运行
承诺 , 1998 12 Java 1.2 发布 7 天之后 Sun 公司市场部将其名称改为更加吸引人的
Java 2 标准版软件开发工具箱丨
. 2
除了
标准版 之外 Sun 还推出了两个其他的版本 一个是用于手机等嵌人式设备的
型版 另一个是用于服务器端处理的 企业版 本书主要讲述标准版
标准版的 1.3 1.4 版本对最初的 Java 2 版本做出了某些改进 , 扩展了标准类库 提高
系统性能 当然 还修正了一些 bug 在此期间 Java applet 采用低调姿态 并淡化了客户
端的应用 Java 却成为服务器端应用的首选平台
5.0 版是自 1.1 版以来第一个对 Java 语言做出重大改进的版本 这一版本原来被命名为
1.5 2004 年的 JavaOne 会议之后 版本数字升至 5.0 ) 经历了多年的研究 这个版本
添加了泛型类型 generic type ) ( 类似于 C + + 的模板 ) 其挑战性在于添加这一特性并没有对虚
拟机做出任何修改 另外 还有几个受 C # 启发的很有用的语言特性
for each 循环
动装箱和注解
版本 6 ( 没有后缀 . 0 ) 2006 年年末发布 同样 这个版本没有对语言方面再进行改进
但是 改进了其他性能 并增强了类库
随着数据中心越来越依赖于商业硬件而不是专用服务器 Sun Microsystems 终于沦陷
于 2009 年被 Oracle 收购 _ Java 的开发停滞了很长一段时间 直到 201 丨年 Oracle 发布了 Java
的一个新版本 Java ? , 其中只做了一些简单的改进
2014 , Java 8 终于发布 在近 20 年中这个版本有了最大的改变

おすすめ

転載: blog.csdn.net/weixin_47277897/article/details/121544117