认识Java语言
横看成岭侧成峰,远近高低各不同...
1. Java的历史
Java来自于Sun公司的一个Green项目,它期望能与家用电器进行信息交流,一开始是准备采用C++,不过C++太复杂,安全性差,于是最后基于C++开发了一种新语言Oak(Java的前身),该语言是一种用于网络的精巧而安全的语言。
2. Java的现状
Java是Sun公司推出的新一代面向对象程序设计语言,特别适用于Internet应用程序开发。它具有平台无关的特性(Java开发环境有JDK与JRE)。
2.1:Java的技术分支
Java主要有3类技术分支:(它们前身的前缀名为J2 ,05年后均改为JAVA )
- JAVA SE:Java2Platform,StandardEdition;(标准版)
- JAVA EE: Java2Platform,EnterpriseEdition;(企业版)
- JAVA ME: Java2Platform,MicroEdition;
以上三个分支,不管如何划分,都是以JAVA SE为核心,那么掌握JAVA SE最为重要。
3. Java的特点
JAVA是一种简单的、面向对象的、分布式的、解释性的、可移植的、多线程的、动态的程序设计语言。
3.1:Java语言的关键特性说明:
- 简洁有效
Java语言是一种相当简洁的程序设计语言。它省略了C++语言中所有难以理解、容易混淆的特性,例如头文件、指针、结构、单元、运算符重载、虚拟基础类等。所以它更加严谨、简洁。 - 可移植
同操作系统平台无关的特性,使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机操作系统上运行,这就是Java应用软件便于移植的良好基础。而且,Java的基本数据类型设计不依赖具体实现,它通过定义独立于平台的基本数据类型及其运算,使得Java数据得以在任何的硬件平台上保持一致。 - 面向对象
Java语言的设计完全是面向对象的,不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码继承和重用。 - 解释型
Java语言是一种解释性语言,相对于C/C++语言来说,Java程序的效率低,执行速度慢。 - 适合分布式计算
Java语言具有强大的、易于使用的联网能力,非常适合开发分布式计算的程序。Java应用程序能像访问本地文件系统那样,通过URL访问远程对象。它十分使用于公共网关接口(GGI)脚本的开发,另外还能使用Java小应用程序(Applet)、Java服务器页面(Java Server Page,JSP)和Servlet等手段来构建更丰富的网页。
4. Java虚拟机(JVM)
虚拟机,即在机器和编译程序间加入了一层抽象的虚拟的机器。它能够在任何平台上都提供给编译程序一个共同的接口。编译程序只需要面向虚拟机,编译生成虚拟机可以理解的代码,然后由解释器将虚拟机代码转换为特定系统的机器码执行。
那么在Java中,虚拟机能理解的代码叫做字节码(Byte Code)。
每一种平台的解释器是不同,但实现的虚拟机相同。
Java源程序(代码存在.java文件)经过编译器编译后变成了字节码(代码存在.claa文件),字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上执行。
Java虚拟机也具有一个指令集,并使用不同的存储区域。它负责执行指令,还要治理数据、内存和寄存器。
图1-Java源文件编译运行过程图