Java

  • Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

  • Java是一个完整的平台,有一个庞大的库,其中包含了很多可重用的代码和一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。

  • Java是一种功能齐全的出色语言,是一个高质量的执行环境,还提供了一个庞大的库。

Java“白皮书”的关键术语

1)简单性

  • Java语法是C++语法的一个“纯净”版本。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等。”C++–”
  • 简单的另一个方面是小。Java的目标之一是支持开发能够在小型机器上独立运行的软件。Java微型版(Java Micro Edition)

2)面向对象

  • 面向对象设计是一种程序设计技术。它将重点放在数据(即对象)和对象的接口上。
  • Java与C++的主要不同点在于多重继承,在Java中,取而代之的是更简单的接口概念。与C++相比,Java提供了更丰富的运行时自省功能

3)分布式

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

4)健壮性

  • Java的设计目标之一在于使得Java编写的程序具有多方面的可靠性。
  • Java采用的指针模型可以消除重写内存和损坏数据的可能性。
  • Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。

5)安全性

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

6)体系结构中立

  • 编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有Java运行时系统,这些编译后的代码可以在许多处理器上运行。Java编译器通过生成与特定的计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅可以很容易地在任何机器上解释执行,而且还可以动态地翻译成本地机器代码。
  • 解释虚拟机指令肯定会比全速运行机器指令慢很多。然而,虚拟机有一个选项,可以将执行最频繁的字节码序列翻译成机器码,这一过程被称为即时编译。
  • Java虚拟机还有一些其他的优点。它可以检测指令序列的行为,从而增强其安全性。

7)可移植性

  • Java规范中没有“依赖具体实现”的地方。基本数据类型的大小以及有关运算都做了明确的说明。

    • Java中的int永远为32位的整数,而在C/C++中,int可能是16位整数、32位整数,也可能是编译器提供商指定的其他大小。
    • 二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰。
    • 字符串是用标准的Unicode格式存储的。
  • 作为系统组成部分的类库,定义了可移植的接口。

  • 除了与用户界面有关的部分外,所有其他Java库都能很好地支持平台独立性。

    • 可以处理文件、正则表达式、XML、日期和时间、数据库、网络连接、线程等,而不用操心底层操作系统。不仅程序是可移植的,Java API往往也比原生API质量更高。

8)解释型

  • Java解释器可以在任何移植了解释器的机器上执行Java字节码。由于链接是一个增量式且轻量级的过程,所以,开发过程也变得更加快捷,更加具有探索性

9)高性能

  • Java解释器可以在任何移植了解释器的机器上执行Java字节码。由于链接是一个增量式且轻量级的过程,所以,开发过程也变得更加快捷,更加具有探索性。
  • 即时编译器可以监控经常执行哪些代码并优化这些代码以提高速度。更为复杂的优化是消除函数调用(即“内联”)。即时编译器知道哪些类已经加载。基于当前加载的类集,如果特定的函数不会被覆盖,就可以使用内联。必要时,还可以撤销优化。

10)多线程

  • 多线程可以带来更好的交互响应和实时行为。
  • Java是第一个支持并发程序设计的主流语言。

11)动态性

  • 它能够适应不断发展的环境。库中可以自由地添加新方法和实例变量,而对客户端却没有任何影响。在Java中找出运行时类型信息十分简单。

Java applet与Internet

  • 用户从Internet下载Java字节码,并在自己的机器上运行。在网页中运行的Java程序称为applet。

Java      Java

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!