二、 Java 语言的技术特点
特点 1 面向对象
Java 的特点之一就是面向对象,是程序设计方法的一种。“面向对象程序
设计语言”的核心之一就是开发者在设计软件的时候可以使用自定义的类型和关
联操作。代码和数据的实际集合体叫做“对象”。一个对象可以想像成绑定了很
多“行为(代码)”和“状态(数据)”的物体。对于数据结构的改变需要和代码进
行通信然后操作,反之亦然。面向对象设计让大型软件工程的计划和设计变得
更容易管理,能增强工程的健康度,减少失败工程的数量。
特点 2 跨平台性
Java 语言的第二个特性就是跨平台性,也就是说使用 Java 语言编写的程
序可以在编译后不用经过任何更改,就能在任何硬件设备条件下运行。这个特
性经常被称为“一次编译,到处运行”。
执 行 Java 应 用 程 序 必 须 安 装 Java Runtime
Environment ( JRE ) , JRE 内 部 有 一 个 Java 虚 拟 机 ( Java Virtual
Machine,JVM)以及一些标准的类库(Class Library)。通过 JVM 才能在
电脑系统执行 Java 应用程序(Java Application),这与 .Net Framework
的情况一样,所以电脑上没有安装 JVM,那么这些程序将不能够执行。
实现跨平台性的方法是大多数编译器在进行 Java 语言程序的编码时候会
生成一个用字节码写成的“半成品”,这个“半成品”会在 Java 虚拟机(解释层)
的帮助下运行,虚拟机会把它转换成当前所处硬件平台的原始代码。之后 ,
Java 虚拟机会打开标准库,进行数据(图片、线程和网络)的访问工作。主要
注意的是,尽管已经存在一个进行代码翻译的解释层,有些时候 Java 的字节码
代码还是会被 JIT 编译器进行二次编译。
有些编译器,比如 GCJ,可以自动生成原始代码而不需要解释层。但是这
些编译器所生成的代码只能应用于特定平台。并且 GCJ 目前只支持部分的 Java
API。
甲骨文公司对于 Java 的许可是“全兼容的”,这也导致了微软和升阳关于微