第一章 Java程序设计概述

来源:互联网 发布:中电普瑞怎么样知乎 编辑:程序博客网 时间:2024/04/24 17:05

1. java “白皮书” 的关键术语

  1) 简单性                  2) 面向对象  3) 网络技能(Network-Savvy) 4) 健壮性  5) 安全性                  6) 体系结构中立  7) 可移植性                8) 解释型  9) 高性能                  10) 多线程  11) 动态性
1.1 简单性
> 1. java语法是C++语法的一个"纯净"版本。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等。  > 2. 设计者并没有试图清除C++中所有不适当的特性。例如 switch语句的语法在java中就没有改变。> 3. 简单的另一个方面是小。Java的目标之一是支持开发能够在小型机器上独立运行的软件。基本的解释器以及类支持大约仅为40KB; 再加上基础的标准类库和对线程的支持(基本上是一个自包含的微内核)大约需要增加175KB;
1.2 面向对象
> 1. 面向对象是一种程序设计技术。它将重点放在数据(即对象)和对象的接口上。> 2. Java的面向对象特性与C++旗鼓相当。Java与C++的主要不同点在于多继承, 在Java中, 取而代之的是简单的接口概念, 以及Java的元类(metaclass)模型。[百度百科](http://baike.baidu.com/link?url=NBAT8J4FZBewuMqPrGg0O6-G1AsZvtzor5Tl_9bQQa6pcPGgVw8BA5Z6rtVawD56CxtG2w4cVcFTnZ93Y-d7k9fdNLXxAFmiazeq0NOsWIpK0sE0yTnVOvadIRoay576)
1.3 网络技能(Network-Savvy)
> 1. Java 有一个拓展的例程库, 用于处理像HTTP 和 FTP 之类的TCP/IP 协议。 Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
1.4 健壮性
> 1. Java 的设计目标之一在于使得Java编写的程序具有多方面的可靠性。> 2. Java投入了大量的精力进行早期的问题检测、后期动态的(运行时)检测, 并消除了有出错倾向的状态。> 3. Java 和 C++ 最大的不同在于Java采用的指针模型可以先出重写内存和损坏数据的可能性。> 4. Java 绝对是安全的, 其原因是永远不会存取一个"坏的"指针,造成内存分配的错误, 也不必防范内存泄漏。
1.5 安全性
> 1. Java适用于网络/分布式环境。为了达到这个目标,在安全方面投入了很大精力。使用Java可以构建防病毒、防篡改的系统。> 从一开始,Java就设计成能够防范各种攻击,其中包括:    - 运行时堆栈溢出。如,蠕虫等病毒常用的攻击手段    - 在自己的处理空间之外的破坏    - 未经授权读写文件
1.6 体系结构中立
> 1. 编译器生成一个体系结构中立的目标文件格式, 这是一种编译过的代码,只要有Java运行时系统,就可以在许多处理器上运行,Java编译器通过生成与特定的计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅可以很容易地在任何机器上解释执行,而且还可以迅速地翻译成本地机器的代码。
1.7 可移植性
> 1. 与C 和C++ 不同, Java规范中没有"依赖具体实现" 的地方。基本数据类型的大小以及有关算法都做了明确的说明。> 2. 作为系统组成部分的类库,定义了可移植性的接口。例如,有一个抽象的Window类给出了在UNIX、Windows、和Macintosh环境下的不同实现。
1.8 解释型
> 1. Java解释器可以再任何移植了解释器的机器上执行Java字节码。由于链接是一个增量式且轻量级的过程,所以,开发过程也变得更加快捷,更加具有探索性。
1.9 高性能
> 1. 尽管对解释后的字节码性能已经比较满意, 但在有些场合下还需要更加高效的性能。字节码可以(在运行时刻)快速地翻译成运行这个应用程序的特定CPU的机器码。
1.10 多线程
> 1.多线程可以带来更好的交互响应和实时行为。
1.11 动态性
> 1. 从各种角度看, Java 和C或C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由地添加新的方法和实例变量,而对客户端却没有任何影响。在Java中找出运行时类型信息十分简单。

即时编译器:
元类:


0 0
原创粉丝点击