入门介绍
执行分类:
1.编译
现有的大多数高级语言,如FORTRAN、C、C++、Pascal、LISP等都是编译型的。
编译型语言是指使用专门的编译器、针对特定平台(操作系统)将某种高级语言源程序一次性“翻译”成可被该平台硬件运行的机器码(包括指令和操作数),并包装成该平台的操作系统所能识别和运行的格式。这一过程称为“编译”。最后生成的程序(可执行文件)可以脱离开发环境在特定平台上独立执行。我们常见的Windows系统中的可执行文件(以.exe为后缀的文件)都是使用编译型高级程序语言进行编写的。
2.解释
只要针对不同平台提供相应的解释器,就能方便的实现源程序级的移植,但这是以牺牲程序的执行效率为代价。比如现在最流行的互联网开发语言php、ruby、Python等,都是解释型语言。它们大都开发效率高于编译型语言,且在更换系统平台时基本不需要进行源代码的修改,就可以正常运行,非常适合互联网软件系统的要求,在当前互联网大热的时代,大行其道。
先采用通用的Java编译器对源代码进行编译,
字节码的文件内容相对于高级程序语言的源代码来说,更接近计算机机器语言,但是它并不是真正的编译好的机器语言,而仍然是与平台无关的,编译的结果针对的是一种称之为Java虚拟机(JVM—-Java Virtual Machine)的虚拟计算机技术。
JVM按照统一的标准来读取分析字节码文件,然后就像是解释型语言的解释器一样,将字节码指令翻译为具体的某操作系统平台的机器指令,然后去执行指令。
虽然JVM也是解释执行的,当相比于解释型语言,它不是直接解释执行源代码,而是经过处理后的字节码文件,将字节码文件解释为该JVM针对的特定平台的机器指令。这样解释执行的效率要远高于其他解释型语言(比如最常见的web开发,Jsp的运行效率是php的10倍以上)。
Java运行时环境(Java Runtime Environment)提供了Java的运行环境
类加载器(class loader)、字节码校验器(bytecode verifier)以及运行时执行引擎(Java Runtime Execution Engine)组成。它们完成不同的功能:类加载器负责从一输入流加载Java字节代码;字节码校验器分析与Java类对应的字节代码流并验证字节代码流符合为该类定义的Java语言规范;而Java运行时执行引擎执行由类加载器加载的并由字节码校验器校验后的字节码。
类(class):类是构造面向对象系统的基本构筑块,它是现实世界中某一类实体的抽象。它是构建对象的蓝图。
对象(object):也称为实例(instance),是类的具体存在。
属性(attribute):也称为成员变量、实例变量(instance variable)、字段(field),表示一个对象所具有的状态。本书中,通常使用变量或者属性来称呼它。
法(method):用于表示对象可以执行的动作,它包括名称、参数、返回类型以及方法体等内容。
构造器(constructor):也称为“构造方法”。用于创建和初始化一个实例的特殊方法,包括名称、参数以及“方法体”等,需要注意的是,它的名称必须和类名一致。
强类型语言