J2EE是JAVA的企业版本,我们知道Java同C一样,是一种高级语言,而J2EE实际上并不是一种语言,而是面向企业用户的一个开发平台,通常包括基本的Java语言,支持Web开发的servlet/jsp和分布式开发的EJB,JMS等一些工具。所有这些加在一起统称J2EE。因此,不能认为J2EE就是JAVA,实际上,JAVA语言只是JVM上运行的一种语言。也就是说进行J2EE开发,理论上你也可以使用其它语言进行开发。当然使用Java语言是最恰当的。并且目前J2ee上还有很多很成熟的框架。这些框架可以让你轻松的开发出一个WEB应用出来。说到J2EE,目前绝大部分应用还是基于WEB的应用,那有人说,有其它的应用吗?好像还比较少。通常基于WEB的应用能发挥出J2EE的优势,如果要开发基于J2EE的应用,也就是说基于WEB的应用,你需要了解非常多的知识,这些知识并且可能还是日新月益的,当然除了基本的JAVA语言,其它像现在WEB上的AJAX,ORM领域的Hibernate,MVC框架上的Struts2,Ioc领域的Spring等。这些共同组成了J2EE,所以说,不是说学好了Java,就可以从事J2EE开发。进入J2EE开发还是需要更多的知道,这些知道可能与语言完全不相关,它只与特定的架构相关,比喻说分层和MVC模式。所以说,学习J2EE不光要学习Java语言,还要学习其它相关知识。我这个笔记从JAVA始,会围绕相关的知识点进行记录。首先我们来了解JAVA语言,了解JAVA语言首先要知道JVM,也就是JAVA是怎么执行的?我们知道JAVA源程序经过JAVAC编译器编译后生成.class文件,这不同于其它语言,如C,C最终生成的是二进制文件。二进制文件通常都是标准格式,如符合PE格式和LSB格式。JAVA的CLASS文件它不是这样的,它必须由JVM也就是JAVA虚拟机来解释,通过虚拟机调用操作系统进行执行。如下图所示:

image

因此,从另外一个意义上来说,JAVA源程序比C程序更跨平台,因为它面对的JVM是一个虚拟机,这个虚拟机的规范是由SUN进行统一的。所以它的虚拟机器指令是统一的。通过安装在不同操作系统上的JVM实现了跨平台。如下图所示:

image 

【1】Java开发环境搭建

学习JAVA开发,首先第一个条件,就是配置JAVA程序执行环境,那就是安装JVM,通常WINDOWS的缺省或者当你上网的时候,有时候会让你默认安装的,就是JRE,全称JAVA RUNTIME ENVERIOMENT.有了这个JRE,实际上你的电脑上也就有了JVM。但是进行JAVA程序开发,你还是需要编译环境,这个就是Javac,另外JAVA为了方便开发,还提供了一套基本类库,这个类库有点类似于WIN32API。总结上面三个条件,实际上你只要去ORACLE网站上下载一个SDK就一切搞定。如下图所示

image

上图中,一般直接选择JDK进行下载,不需要选择JAVA EE下载,后者就多了一个平常很少用的WEB服务器Glassfish。另外,这里面还有一开发IDE,叫netbeans,也可以下载安装。下载后如果是WINDOWS平台,直接点击EXE文件安装,缺省安装在C:\program files\java。如下图所示:

image

使用WINDOW人都知道,我们通常在在控制台执行时,需要设置搜索路径,这个路径保存的WINDOWS环境变量BIN中。JAVA还一个库路径,这个库路径是用来查找编译时引用的系统库路径和其它JAR路径。设置方式,比较简单。如下图所示:

image

PATH和Classpath设置好之后,就可以在console中验证是否找到正确的库径和执行文件。

image 

【2】JAVA开发规范及IDE

开发JAVA比开发C来说相对舒服得多,这主要得益于两大要素,一是IDE功能强大,另一个是JDK自带虚拟机,所以说,不管是开发WEB程序,还是本地JAVA程序,都不存在交叉编译等环境问题。JAVA与C和C++不同,JAVA是纯面向对象的,而且更明确的一点是JAVA中不再有声明(declare)与定义(definiation)这种区别,也就Java中写一个类,直接在类中实现想要的功能,不再有inline函数的区分,也不再有全局函数。每个源文件就是一个或多个类(这里还包括接口)组成,并且只能有一个主类,或者称之为public(protect),同时类名称与源文件名称相同。JAVA多个源文件的组织结构也与C不同,C需要依赖头文件,JAVA提出了包概念。所有的文件在同一个大的命名空间范围内,但是由包来隔开,因此,也不存在真正意义的全局变量。Java是区分大小写的,并且在一个程序中只有一个main函数。注释有三种,前两种同C都相同,后面一种与C稍有不同,但实际上也可以写C的规范。

image