Java 虚拟机指令。 Java 编译器将 Java 应用程序的源代码文件(.java)翻译成 Java 字节码文 件(.class ), 它是由 Java 虚拟机指令构成的。由于是虚拟机器,因而 Java 虚拟机执行 Java 程序的过程一般称为解释。 依赖于虚拟机技术, Java 语言具有与机器体系结构无关的特性, 即 Java 程序一旦编写好之后,不需进行修改就可以移植到任何一台体系结构不同的机器 上。 从操作系统的角度看,执行一次 Java 程序的过程就是执行一次 Java 虚拟机进程的过 程。 面向网络编程 Java 语言产生之初就面向网络,在 JDK 中包括了支持 TCP/IP、HTTP 和 FTP 等协议的类库。 多线程支持 多线程是程序同时执行多个任务的一种功能。 多线程机制能够使应用程序并行执行多项任务, 其同步机制保证了各线程对共享数据的正确操作。 良好的代码安全性 运行时 (Runtime) 一词强调以动态的角度看程序, 研究程序运行时候的动态变化, 也用运行时环境一词表达类 似的含义。 Java 技术的很多工作是在运行时完成的,如加强代码安全性的校验操作。 一 般地,Java 技术的运行环境执行如下三大任务: 加载代码——由类加载器执行 类加载器为程序的执行加载所需要的全部类 (尽可能而 未必同时) 。 校验代码——由字节码校验器执行 Java 代码在实际运行之前要经过几次测试。字节码校验器对程序代码进行四遍校验,这可以 保证代码符合 JVM 规范并且不破坏系统的完整性。如--检查伪造指针、违反对象访问权 限或试图改变对象类型的非法代码。 执行代码——由运行时的解释器执行 自动垃圾收集 许多编程语言都允许在程序运行时动态分配内存块, 分配内存块的过程由于语言句法不同而 有所变化,但总是要返回指向存储区起始位置的指针。 在 C 及其它一些语言中,程序员负责取消分配内存块。有时这是一件很困难的事情。因 为程序员并不总是事先知道内存块应在何时被释放。 当在系统中没有能够被分配的内存块时, 可导致程序瘫痪,这种程序被称作具有内存漏洞。 当分配内存块不再需要时,程序或运行环境应取消分配内存块。 垃圾收集就是将不再需要的已分配内存块回收。 在其它一般的语言中,取消分配是程序员的责任。 Java 编程语言提供了一种系统级线程以跟踪存储区分配,来完成垃圾收集: 可检查和释放不再需要的存储块 可自动完成上述工作 可在 JVM 实现周期中,产生意想不到的变化 良好的代码健壮性 Java 能够检查程序在编译和运行时的错误。 类型检查能帮助用户检查出许多在开发早期出现 的错误。同时很多集成开发工具(IDE)的出现使编译和运行 Java 程序更加容易,并且很多 集成开发工具(如 Eclipse)都是免费的。 1.3 .1 面向对象与面向过程的差异 一种程序设计语言的产生,不仅是以介绍面向对象编程的基本概念、基本理论为重点,结合 Java 语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学 生能对 Java 技术有一个总体了解,通过本课程学习,使学生掌握 Java 语言的基础知识,理 解和掌握面向对象程序设计的基本思想,熟练地使用 Java 语言进行程序的编写、编译以及

调试工作程序设计技术的改进,也包含了表达和认知思想的进步。 以 C 语言为代表的部分早期语言, 被称为面向过程的语言, 不仅因为其程序设计的表达形式 是以过程为基本元素, 本质上更在于此时对计算机化的系统的理解的主导思想还是控制流或 者数据流的,构成系统的要素是模块——处理逻辑。 面向对象语言的产生, 是因为对于系统的理解或抽象到了更为高级的层次。 此时的认知思想 不仅更接近于现实世界,其抽象程度也很高。因而,既有易懂的一方面,也有难懂的另一方 面,就看理解的境界了。 1.3.2 面向对象思想介绍 面向对象思想,对现实世界采用直观的理解,计算机化时候采用深度的抽象,简单地可以总 结如下: 系统是由事物构成的,事物之间是有联系的,复杂的事物也是系统; 系统与系统、系统与事物、事物与事物之间是有明确界限(边界)的; 系统是由事物构成的,事物之间是有联系的,复杂的事物也是系统; 系统或事物的状态刻画可以用属性表示,属性一般是些简单的数据,如果复杂那就是事物 了; 系统或事物的状态会发生变化,称为行为,产生变化是有原因的(内部的或外部的) ,变化 的过程可能是复杂的; 不同的事物之间会具有共同的属性和行为,共同的极端情形就是完 全包含。 基于以上的认识,一个运行时(动态)的具体系统或事物,是由几个更小的具体 事物构成(极系统是由事物构成的,事物之间是有联系的,复杂的事物也是系统; 系统与 系统、系统与事物、事物与事物之间是有明确界限(边界)的; 系统或事物的状态刻画可 以用属性表示,属性一般是些简单的数据,如果复杂那就是事物了; 系统或事物的状态会 发生变化,称为行为,产生变化是有原因的(内部的或外部的) ,变化的过程可能是复杂 的; 不同的事物之间会具有共同的属性和行为,共同的极端情形就是完全包含。 基于以 上的认识,一个运行时(动态)的具体系统或事物,是由几个更小的具体事物构成(极端的 事物就是一个简单的属性数据) ,它们是不断发生变化的。如果对事物这一概念进行了有效 的抽象,那么问题就迎刃而解。 首先,将任何一个具体的事物称为对象(Object),它的极端情形就是过去的变量;事物是 分类的, 每一类事物都具有统一的属性和行为, 即类型——抽象数据类型, 简称为类 (Class) ; 行为既然是过程,那么就抽象成函数,命名为方法,以示区别。 例如: 描述身高或姓名,各自只是一个简单的数据变量; 描述一个学生,可以使用学号、姓名、宿舍、班级等;那更换宿舍算什么呢! 那描述宿舍、 班级,又要有许多个项目。

Java 自学课程 第一章 Java 语言概述与面向对象思想 1.1 Java 语言的发展 1.1.1 Java 语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合 Java 语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学 生能对 Java 技术有一个总体了解,通过本课程学习,使学生掌握 Java 语言的基础知识,理 解和掌握面向对象程序设计的基本思想,熟练地使用 Java 语言进行程序的编写、编译以及 调试工作 上世纪 90 年代初期,Sun 公司在研究一种适用于未来的智能设备的编程语言,该 语言要具有一些新的特性,以避免 C的一些不足。 该语言起初命名为 Oak,来源于语言作者 Gosling 办公室窗外的一棵橡树(Oak) 。后来在注 册时候遇到了冲突, 于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿, 中文 名叫爪哇,Java 语言得名于此。 随着 Internet 的迅速发展,Web 应用日益广泛,Java(加扣扣群第一段四一八三,请往下关 注 Java 词第二段五五五,加上有第三段三一惊喜哦)语言也得到了迅速发展。 1994 。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注