第一章 java 语言概述
从某种程度看,java已经超出编程语言的范畴,成为一种开发平台,一种开发规范。Java语言的JavaEE规范包含时下最流行的各种软件工程理念各种先进的设计思想。
一、Java语言发展历史
Java源于1990年的Sun公司进军嵌入式系统的‘Green计划’,创造了一种全新的语言:Oak(橡树的意思,广泛分布在北半球广大区域,市场上橡木大致分为红橡与白橡二大类。橡木广泛用于装潢用材和制作家具,在于其优良的材质性能)。后来,由于Green项目在电视机顶盒败给了SGI,几近夭折,1995年,Sun公司在互联网和浏览器领域中看到了希望,将Oak更名为Java,准备大展拳脚。
Java程序可以在浏览器中直接运行、直接与远程服务器交互,这给当时的静态网页带来了革命性的冲击。1996年,Sun发布了JDK1.0,包含运行环境(JRE)和开发环境(JDK)。
运行环境(JRE):各种核心和集成API、Java虚拟机(JVM)、发布技术。
开发环境(JDK):编译Java程序的编译器(Javac命令)。
但1996-1998年,java在网页的应用地位一直被flash占据。
1998年,Sun发布了JDK1.2(J2EE,J2SE,J2ME),标志着Java向企业、应用和桌面进军。
2002年,Sun发布了JDK1.4,期间涌现出大量的开发框架和应用服务器。
2004年,Sun发布了JDK1.5,推出自己的MVC框架:JSF,可以快速构建复杂的JSP页面。
2006年,Sun发布了JDK1.6。
2007年,Google推出手机开源操作系统:Android,让Java从服务器端走向客户端。
2009年,Oracle以74亿美元收购Sun公司。
2011年7月,Oracle发布了JavaSE7。
二、Java语言竞争对手
1、C#:Microsoft的.NET平台,比Java更善于利用Windows平台,但Java有跨平台优势,因此,更多的应用于开放式的企业应用。
2、Ruby:1993年源于日本,纯面向对象,更简洁易用,多用于中小型应用。
3、Python:被称为高级动态语言,编程领域目前排名第七。
三、Java运行机制
1、高级语言运行机制:编译型、解释型。
编译型:使用专门的编译器将源代码翻译成该平台硬件执行的机器码,并包装成可执行的程序格式,有些需要链接多个目标代码生成最终的可执行性程序。
编译型程序可以脱离开发环境独立运行,但通常无法移植到其他平台上运行(这里需要理解开发环境和运行平台的区别),如果跨平台,需要用特定的编译器对源代码重新编译。
解释型:使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行。解释型程序不能脱离解释器独立运行,但跨平台较容易,因为只需提供特定平台的解释器即可。
2、Java的运行机制和JVM
Java语言:先编译,再解释。
编程生成与平台无关的字节码(*.class文件,不可执行),再使用Java解释器来解释执行,分为如下步骤:
(1)、Java源文件,即程序员编写的*.java文件;
(2)、使用javac编译;
(3)、编译生成*.class文件(虚拟机能理解的代码),一种与平台无关的字节码文件;
(4)、使用java解释执行(JVM,java虚拟机,不同平台的JVM不同,向上解释字节码相同,但向下对不同平台的接口则互不相同);
(5)、特定平台的机器码,得到运行结果。
Sun制定了JVM规范规定了JVM的统一标准,所以才能实现不同平台的JVM虚拟机。
四、 Java开发准备
1、下载JDK(Java SE Development Kit,Java标准开发包),包括Java编译器、Java运行时环境(JRE)、常用类库。
JDK=编译器(javac)+JRE=编译器(javac)+JVM+API。
JDK安装路径下目录:
(1)、bin:各种工具命令,譬如javac.exe、java.exe、jar.exe;
(2)、demo:演示代码;
(3)、jre:运行时环境;
(4)、lib:工具命令的实际执行程序;
(5)、src.zip:核心类库的源代码。
2、设置PATH环境变量,Windows系统根据Path环境变量来查找命令。
在path环境变量中添加: D:SoftWareDevelopJDK6in;
cmd命令输入: javac,java。
五、第一个Java程序
1、HelloWorld.java
public class HelloWorld
{
public static void main (String[] args)
{
System.out.println("Hello,Heimei!!");
}
}
2、cmd进入HelloWorld.java所在路径,输入javac HelloWorld.java编译成HelloWorld.class。
3、用java命令运行程序:java HelloWorld
4、classpath环境变量:为命令“java java类名”提供要运行的类的路径
在classpath环境变量中添加D:SoftWareDevelopBackupojdbc14.jar;.;%classpath%
其中,%classpath%是用来引用JDK内置的CLASSPATH环境变量,该变量已经包含.;dt.jar;tools.jar等路径,所以现在一般不用设置classpath变量了(除非引用了新的jar包)。
六、 Java程序规则
1、代码都是由类class构成,必须且仅有一个main函数;
2、源文件必须与public类名相同;
3、严格区分大小写;
4、对于补在使用的对象,设置为null;