小白读java核心技术,发现边看边忘,于是就写了学习笔记,如有理解错误地方,望各位大牛指出。
1.Java是什么鬼?
Java是一门高级程序设计语言,举个不是很恰当的例子,就类似于汉语英语这样的语言,汉语英语可以实现人与人之间交流,并且拥有自己的语法与结构,java同样拥有自己的语法与结构,通过java可以将我们程序解释成计算机可以执行的指令,实现人对计算机的控制与交流。
Java 并不只是一种语言,Java更像是一个平台,有庞大的库,java提供了可移植性,垃圾收集等,有的语言向绘图功能,网络连接功能和数据库存取等需要手动的编写代码,Java 具备所有这些特性。
2.Java“ 白皮书” 的关键术语
白皮书是国际上公认的正式官方文书,Java 白皮书有一个简短的摘要, 这个摘要由11 个关键术语进行组织,我觉得也可以理解为java的一些特点:
1 ) 简单性
2 ) 面向对象
3 ) 分布式
4 ) 健壮性
5 ) 安全性
6 ) 体系结构中立
7) 可移植性
8 ) 解释型
9 ) 高性能 10 ) 多线程 11 ) 动态性
3.Java发展简史
Java 的历史要追溯到 1991 年, 由 Patrick Naughton 和 James Gosling (一个全能的计算机 奇才)带领的 Sun 公司的工程师小组想要设计一种小型的计算机语言, 由于消费设备的限时, 所以语言必须非常小且能够生成非常紧凑的代码,并且不与任何特定的体系结构捆绑在一起。这个项目被命名为“ Green”。
代码短小、 紧凑且与平台无关, 这些要求促使开发团队设计一个可移植的语言, 可以为虚拟机生成中间代码。Gosling 把这种语言称为“ Oak”。 Sun 公司的人后来发现 Oak 是一种已有的计算机语言的 名字,于是, 将其改名为 Java。 事实证明这是一个很有灵感的选择。
1992 年, Green 项目发布了它的第一个产品, 称之为“ *7”。 遗憾的是,Sun 公司对生产这个产品并不感兴趣,Green项目一直在苦苦寻求其技术的买家。
Internet 的万维网日渐发展壮大。Gosling 说在 1994 年中期, Java 语言的开发者意识到: “ 我们能够建立一个相当酷的浏览器。我们已经拥有在客户机/服务器主流模型中所需要的体 ,系结构中立、实时、可靠、安全—这些在工作站环境并不太重要, 所以, 我们决定开发浏览器,实际的浏览器是由 Patrick Naughton 和 Jonathan Payne 开发的,并演变为 HoUava 浏览器。为了炫耀 Java 语言超强的能力, HoUava 浏览器采用 Java 编写。设计者让 HoUava 浏览 器具有在网页中执行内嵌代码的能力。 这一“ 技术印证” 在 1995 年 5 月 23 日的 SunWorld 上得到展示, 同时引发了人们延续至今的对 Java 的狂热追逐。
1996年年初,Sun发布了Java的第1个版本: 人们很快地意识到Java1.0不能用来进行 真正的应用开发。 的确, 可以使用 Java 1.0 来实现在画布上随机跳动的神经质的文本 apple,t 但它却没有提供打印功能。 坦率地说, Java 1.0 的确没有为其黄金时期的到来做好准备。 后 来的Java1丨.弥补了其中的大多明显的缺陷,大大改进了反射能力,并为GUI编程增加了新 的事件处理模型: 不过它仍然具有很大的局限性。
1998 年 JavaOne 会议的头号新闻是即将发布 Java 1.2 版。这个版本取代了早期玩具式的 GUI, 并且它的图形T.具箱更加精细而具有可伸缩性, 更加接近“ 一次编写,随处运行” 的 承诺 , 在 1998 年 12 月 Java 1.2 发布 7 天之后,Sun 公司市场部将其名称改为更加吸引人的“ Java2标准版软件开发工具箱丨.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 年中这个版本有了最大的改变。Java 8 提供了一种“ 函数式” 编程方式,可以很容易地表述并发执行的计算。所有编程语言都必须与时俱进,Java 在这方面显示出非凡的能力。
表 1-1 展示了 Java 语言以及类库的发展状况。 可以看到, 应用程序编程接口 (API ) 的规 模发生了惊人的变化。