第一章 Java语言概述
一、Java语言的诞生
略
二、Java语言的特点
1.平台无关性
无论哪种编程语言编写的应用程序都需要经过操作系统(OS)和处理器(CPU)来完成程序的运行,平台无关性就是指:软件的运行不会因为OS和COU的变化导致程序无法运行或者运行出错。
a)平台的机器指令
机器指令是指可以直接被平台识别且执行的一种由0和1组成的序列代码。每种平台都有自己独特的机器指令,比如某平台用8位序列代码1000 1111表示一次加法操作,用1010 0000表示一次减法操作,另外一种平台可能用8位序列代码1010 1010表示一次加法操作,用1001 0011表示一次减法操作。
b)C/C++程序依赖平台
C/C++语言提供的编译器对C/C++源程序编译时,将针对当前C/C++源程序所在平台进行特定的编译、链接,根据当前平台的机器指令生成机器码文件(可执行文件),由于不同平台可能具有不同的机器指令(见点a)因此更换平台后,可能需要修改源程序,并且针对新的平台重新编译源程序。
c)*Java程序不依赖平台
即平台无关性,此为Java语言最大的优势。原理:Java语言在平台上再提供一个Java运行环境(Java Runtime Environment ,JER)此Java运行环境由Java虚拟机(Java Virtual Machine ,JVM)、类库以及一些核心文件组成,Java虚拟机(JVM)核心是字节码指令,可以被Java虚拟机直接识别、执行的一种由0和1组成的序列代码。注意区分字节码与机器指令,字节码不和特定的平台相关,不能被任何平台直接识别执行,只会被JVM识别。Java虚拟机负责将字节码翻译为虚拟机所在平台的机器码,平且让该平台运行机器码。可以理解为一头猪在中国的农场里生活,将这个农场打包送往美国,这头猪的生活不会被影响。
2.面向对象
a)封装
面向对象编程的核心思想之一就是封装。将数据和对数据的操作封装在一起,可以理解为有一辆轿车,即一个对象,每辆轿车加大油门都只改变自己的运行速度。
b)继承
继承体现了一种先进的编程模式。子类可以继承父类的属性和功能,即继承了父类的数据与对数据的操作(封装),又可以自主添加数据与对数据的操作,可以理解为,人类继承了哺乳类,自然继承了哺乳类的属性和功能,但是人类又存在自己独有的属性和功能
c)多态
多态是面向对象编程重要特征。多态有两种,一种为操作名称的多态,即多个操作有相同的名字,但是这些操作接收的消息类型必须不同。第二种是与继承有关的多态,指同一个操作被不同类型调用时可能产生不同的行为。
3.多线程
Java特点之一就是内置对多线程的支持。多线程允许同时完成多个任务。
4.安全
Java小程序被限制在Java的运行环境中,不允许访问计算机的其他部分,不必担心恶意代码病毒软件等,
5.动态
Java的基本组成单元是类,类可以由自己编写,也可以从类库中引用。类在运行时是动态装载的,这就使得Java可以在分布环境中动态地维护程序以及类库。