java核心技术学习笔记(一)java基本介绍

小白读java核心技术,发现边看边忘,于是就写了学习笔记,如有理解错误地方,望各位大牛指出。

                                                  Java基本介绍

1.Java是什么鬼?

    Java是一门高级程序设计语言,举个不是很恰当的例子,就类似于汉语英语这样的语言,汉语英语可以实现人与人之间交流,并且拥有自己的语法与结构,java同样拥有自己的语法与结构,通过java可以将我们程序解释成计算机可以执行的指令,实现人对计算机的控制与交流。

    Java 并不只是一种语言,Java更像是一个平台,有庞大的库,java提供了可移植性,垃圾收集等,有的语言向绘图功能,网络连接功能和数据库存取等需要手动的编写代码,Java 具备所有这些特性。

2.Java“ 白皮书” 的关键术语

    白皮书是国际上公认的正式官方文书,Java 白皮书有一个简短的摘要, 这个摘要由11 个关键术语进行组织,我觉得也可以理解为java的一些特点:

1 ) 简单性

  • 希望构建一个无须深奥的专业训练就可以进行编程的系统, 并且要符合当今的标准惯例。
  • 简单的另一个方面是小。 Java 的目标之一是支持开发能够在小型机器上独立运行的软件。

2 ) 面向对象

  • 是一种程序设计技术,重点放在数据跟数据的接口上,举例子,比如,木匠首先关心的是制作的椅子,其次才是所使用的工具,而非面向对象木匠首先考虑的是使用的工具。

3 ) 分布式

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

4 ) 健壮性

  • java编程具有多方面的可靠性,能够检测出很多其他语言在运行时才能检测出的错误。

5 ) 安全性

  • Java 适用于网络 / 分布式环境。 为了达到这个目标, 在安全方面投入了很大精 力。使用 Java 可以构建防病毒、防篡改的系统。

6 ) 体系结构中立 

  • 编译器生成一个体系结构中立的目标文件格式, 这是一种编译过的代码, 不依赖于当时的系统环境,只要有 Java 运行时系统, 这些编译后的代码就可以在许多处理器上运行。

7) 可移植性

  • Java 规范中没有“ 依赖具体实现” 的地方,基本教据类型的大小以及有关运算都做了明确的说明 。例如, Java 中的 int 永远为 32 位的整数, 而在 C/C++ 中, int 可能是 16 位整数、 32 位整数, 也可能是编译器提供商指定的其他大小。

8 ) 解释型

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

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 ) 的规 模发生了惊人的变化。

java核心技术学习笔记(一)java基本介绍_第1张图片

 

 

 

  

 

你可能感兴趣的:(java,核心技术学习)