
3.1 Java概述
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsys-tems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE、JavaEE和Ja-vaME)的总称。Java是一个纯面向对象的程序设计语言。
1.Java的特点
Sun公司对Java编程语言的解释是:Java编程语言是一个简单、面向对象、分布式、解释型、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
2.Java的编译和执行过程
Java不同于一般的编译执行计算机语言和解释执行计算机语言,但是它归类于解释型的语言,因为它在执行的过程中还是边执行边解释的,然而执行的是已经编译好了的二进制文件,所以Java的执行跟编译和解释都有关系。
首先在Java平台上将源代码编译成二进制字节码(Bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,如图3-1所示。字节码在被解释执行过程中需要的类在连接阶段被载入到运行环境中,从而实现了“一次编译、多处执行”的跨平台特性。
图3-1 Java运行机制
3.Java的核心
Java的核心是:JDK(Java Development Kit)、虚拟机(Java Virtual Machine)和垃圾收集器。
JDK是整个Java的核心,是Java最基本的开发和运行工具包,它包括了Java运行环境、Java工具和Java基础的类库。JDK从Sun的JDK5.0开始,提供了泛型等非常实用的功能,其版本也在不断更新,运行效率得到了非常大的提高。JDK提供环境和命令,可以把写好的*.java文件转成字节码文件*.class,在运行时读取*.class让CPU能认识。
Java虚拟机是Java语言底层实现的基础。Java语言的一个非常重要的特点就是运行环境与平台的无关性,而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
Java系统自动对内存进行扫描,对长期不用的空间作为“垃圾”进行收集,使系统资源得到更充分的利用。按照这种机制,程序员不必关注内存管理问题,这使Java程序的编写变得简单明了,并且避免了由于内存管理方面的差错而导致的系统问题。
Java体系包括Java SE(Java 2 Platform Standard Edition,Java平台标准版)、Java EE(Java 2 Platform Enterprise Edition,Java平台企业版)和Java ME(Java 2 Platform Micro Edi-tion,Java平台微型版)。
Java SE(Java Platform Standard Edition)以前称为J2SE,它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。Java SE包含了支持Java Web服务开发的类,并为Java Platform Enterprise Edition(Java EE)提供基础。
Java EE(Java Platform Enterprise Edition)以前称为J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。Java EE是在Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(Service-Oriented Architecture,SOA)和Web 2.0应用程序。
Java ME(Java Platform Micro Edition)以前称为J2ME,也称K-JAVA。Java ME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME包括灵活的用户界面、健壮的安全模型、许多内置的网络协议,以及对可以动态下载的联网和离线应用程序的丰富支持。基于Java ME规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。