1 java程序设计概述

《java 核心技术卷 Ι 基础知识(第九版)》学习笔记


第一章  java程序设计概述

●  java程序设计平台

●  java“白皮书”的关键术语

●  java  applet与Internet

●  java发展简史

●  关于java的常见误解

    1996年java第一次发布就引起了人们的极大兴趣。关注java的人士不仅限于计算机出版界,还有诸如《纽约时报》、《华盛顿邮报》、《商业周刊》这样的主流媒体。java是第一种也是唯一一种在National Public Radio上占用了10分钟时间来介绍的程序设计语言,并且得到了$100000000的风险投资基金。这些基金全部用来支持用这种特别的计算机语言开发的产品。重温那些令人兴奋的日子是很有意思的。

1  java程序设计平台

    此书第一版是这样描写java的:“作为一种计算机语言,java的广告词确实有点夸大其词。然而,java的确是一种优秀的程序设计语言。作为一个名副其实的程序设计人员,使用java无疑是一个好的选择。有人认为:java将有望成为一种最优秀的程序设计语言,但还需要一个相当长的发展时期。一旦一种语言应用于某个领域,与现存代码的相容性问题就摆在了人们的面前”。

     。。。。。。

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

    作为一名程序设计人员,常常希望能有一种语言,它具有令人赏心悦目的语法和易于理解的语义。与许多其他的优秀语言一样,java恰恰满足了这些需求。有些语言提供了可移植性、垃圾收集等,但是,没有提供一个大型的库。如果想要有奇特的绘图功能、网络连接功能和数据库存取功能就必须自己动手编写代码。java这种功能齐全的出色语言,具有高质量的执行环境以及庞大的库。证书因为它集多种优势于一身,所以对广大的程序设计人员有不可抗拒的吸引力。


2  java“白皮书”的关键术语

    java的11个关键术语:简单性、面向对象、网络技能、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程和动态性。

2.1  简单性

    人们希望构建一个无须深奥训练就可以进行编程的系统,并且需要符合当今的标准惯例。因此尽管人们发现C++不太适用,但在设计java的时候还是尽可能接近C++,以便系统更易于理解。java剔除了C++中的头文件、指针运算、结构、联合、操作符重载、虚基类等很少使用、难以理解、易混淆的特性。不用过度关注内存分配和垃圾回收,java提供了垃圾回收机制;C++中可以多几次,java只是单继承(对于类来说,接口可以多继承。)

    简单的另一方面是小。java目标之一是支持开发能在小型机器上独立运行的软件。现在有一个独立的具有较小类库的java微型版用于嵌入式设备。

2.2  面向对象

    面向对象设计是一种程序设计技术。它将重点放在数据(即对象)和对象的接口上。如:一个“面向对象”的木匠始终关注的是所制作的椅子,第二位才是所使用的工具;一个“非面向对象的”木匠首先考虑的是所用的工具。java的面向对象特性与C++旗鼓相当。java与C++主要不同在于多继承,在java中,取而代之的是简单的接口概念,以及java的元类模型。

2.3  网络技能

    java有一个扩展的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就像访问本地文件一样。Java的网络能力强大而且易于使用,另外,远程方法调用机制使得分布式对象之间可以进行通信。

2.4  健壮性

    Java编译器能够检测许多在其他语言中仅在运行时刻才能检测出来的问题。Java在编译和运行时程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾回收机制来管理内存,防止程序员在管理内存时容易的错误。

2.5  安全性

    Java主要用于网络应用程序的开发,因此对安全性要求有较高要求。

2.6 

2.7  可移植性

    源代码可移植,任意一个JAVA程序,不论它运行在何种CPU、操作系统或JAVA编译器上,都将产生同样的结果。

    CPU可移植,JAVA编译器产生的目标代码(J-Code)是针对一种并不存在的CPU–JAVA虚拟机(JAVAVirtualMachine),而不是某一实际的CPU。JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上。

2.8  解释性

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

你可能感兴趣的:(java基础)