一、Java语言概述
1.1 Java简介
1995年年初,Sun公司发布了Java语言,而Java这二十多年来,已然成为一门对人类计算机史造成深远影响的编程语言。Java是一门非常纯粹的面向对象编程语言,它吸收了C++语言的各种优点,同时又摒弃了C++里多继承和让人蛋疼的指针等概念。因此,Java即强功能大而又简单易用。
Java主要可以分成J2EE、J2SE和J2ME这三个版本。其中,
- J2ME(后改名为JavaME),主要用于控制移动设备和信息家电等有限存储的设备,我记得当年在智能手机还没出来的时候就有好一些手机里面都是用JavaME写的,还有就是一些老版的手机游戏。
- J2SE(后改名为JavaSE),是整个Java技术的核心和基础,是JavaME和JavaEE的基础。
- J2EE(后改名为JavaEE),是Java应用最为广泛的一部分,为企业应用的开发提供了相关的解决方案,这也是Java开源框架最为活跃的领域。
1.2 Java程序的运行机制
计算机高级语言按照程序的执行方式可以分为编译型和解释型两种,而Java它既具有解释型语言的特征,也具有编译型语言的特征,因为Java程序的运行需要经过先编译,后解释这两个步骤。但是,由Java语言编写的程序虽然需要经过编译,但这个编译的步骤斌不会生成特定平台的机器码,而是生成一种与平台无关的字节码(也就是神奇的*.class文件)。而这种字节码文件必须要使用Java解释器来解释执行。因此,Java可以说既是编译型语言,也是解释型语言。或者说,Java既不是纯粹的编译型语言,也不是纯粹的解释型语言。
1.3 Java 虚拟机JVM(Java Virtual Machine)
在Java中,负责解释执行.class字节码文件的是Java虚拟机,也就是常说的JVM。当使用Java编译器编译Java程序时,生成的.class文件是无关平台的字节码文件,这些字节码不面向任何具体的平台,只面向JVM。然后通过JVM对字节码解释执行。而JVM在不同的平台上都是不同的,但它们都提供了相同的接口。因此JVM就是Java程序跨平台的关键部分,只要为不同的平台实现了相应的JVM,那么编译后的.class文件就可以在该平台上运行。从这个角度来看,JVM其实就是一个实现Java程序在不同平台运行的转换器。