首页 > 代码库 > Java介绍
Java介绍
1、JAVA的三种技术架构
①J2EE(JAVA2 Platform Enterprise Edition )企业版
是为开发企业环境下的应用程序提供的一套解决方案,主要针对于Web应用程序开发
②J2SE(Java2 Platform Simple Edition)标准版
是为开发普通桌面和商务应用程序提供的一套解决方案,可以完成一些桌面版应用程序的开发
③J2ME(Java2 Platform Micro Edition)小型版
是为开发电子消费产品和嵌入式设备提供的解决方案,比如手机应用程序的开发
JAVA5.0之后分别更名为JAVAEE、JAVASE、JAVAME
2、JAVA的跨平台性
JAVA程序的运行,需要先安装一个JAVA虚拟机(JVM,Java Virtual Machine),由JVM来负责Java程序的运行。
JAVA虚拟机是有平台性的,但JAVA程序是没有平台性的。
3、JRE、JDK
JRE(Java Runtime Environment)Java运行环境,包含Java虚拟机,是Java程序运行所需要的核心类库。
JDk(Java Development Kit)Java开发工具包,包含JRE。
4、设置环境变量
4.1 java开发工具在系统环境变量中的配置,为了在各级目录下均能使用java的开发工具(比如java、javac)
在设置环境变量之前,jdk目录下的.exe在命令行中(直接点击exe会直接闪过)的运行需要先cd到命令所在文件,而配置环境的目的则在于能够在不同的目录下执行jdk目录下的程序(即Java开发工具)。
另外,对于需要经常改变jadk目录的情况,可以在设置环境变量时自定义某些参数的变量来实现:如Path中添加的环境变量D:\Program Files (x86)\Java\jdk1.6.0_17\bin,可以添加新的"系统变量"INSTEAD=D:\Program Files (x86)\Java\jdk1.6.0_17; 添加环境变量%INSTEAD%\bin即可。%%用来获取变量的值。
DOS命令行对环境变量的改变仅在本DOS界面有效。在原有基础上添加新的目录(临时): set path=INSTEAD;%path%
4.2 源代码生成的可执行的类在系统环境变量中的配置,为了.class文件在其他目录下也能使用。
这样就可以避免出现5中所提到的可执行文件所在目录不对的错误出现。
将相应的.class类文件所在路径(比如 D:\Program Files (x86)\Java\myworkspace)设置到环境变量中:set classpath=D:\Program Files (x86)\Java\myworkspace
原理:在执行相应类文件时,java命令会启动虚拟机,而虚拟机会首先到classpath路径下去寻找有没有java命令后所紧随着的类文件(.class结尾),若能找到,则直接执行该文件。
*对环境变量的清空:set classpath= (什么都不写即是清空)
*文件执行顺序:考虑到这样一个场景,C盘和D盘中均有一个名为Demo.class的文件,再将环境变量设置为D盘,此时在DOS界面中C盘目录下执行命令java Demo,虚拟机会先执行哪个盘下的Demo文件?答案是D盘。这就说明,java虚拟机会首先检索环境变量classpath目录,若未找到目标文件,才会转向DOS界面当前所在目录进行检索。(检索顺序:1st—classpath;2nd—当前目录)。以上是在set classpath=目录;(即目录后有分号的情况)。当set classpath=目录 (即目录后没有分号的情况)时,虚拟机在检索classpath未果时,不会转向当前目录进行检索,即"不管环境变量classpath中是否有目标文件,都只检索classpath"。最好的情况反而是在设置classpath时不加分号!以防出现无法预料的结果,但是可以在classpath中添加多个目录,目录之间加分号,但最后一个目录后不加分号。若想设置classpath包含当前目录(命令执行时DOS所在目录),可在classpath中添加一个目录‘.’,这个"点"表示当前目录。(如:set classpath=.;D:\)
因此,虚拟机的文件检索顺序可由classpath的多级目录顺序的改变进行修改。(如:set classpath=.;D:\ 时,虚拟机会先检索当前目录,未果后再检索D盘)
若要classpath一直有效,则可以通过图形化界面进行设置。(DOS界面的设置仅在当面DOS界面有效)
另外,关于环境变量名:①classpath保存java的类文件的目录,后缀名为.class;②path保存可执行文件的目录,后缀名为.exe
5、Java程序开发
.java文件—javac.exe(编译)—>.class文件—java.exe(运行)—>结果
DOS界面下cd到代码目录,键入命令对源文件进行编译 javac test.java,将生产相应Demo.class文件(运行文件),但该文件不能通过双击运行。
再键入命令 java Demo.class 或者java Demo,开发工具java.exe会使用到Java虚拟机。(若报错“NoSuchMethodError:main”说明该程序不具备独立运行的能力,缺少main)
①错误提示:(键入javac test.java)
javac:找不到文件:test.java
用法:javac <options><source files>
-help 用于列出可能的选项
错误原因:①文件名错误;②目录不对。
②错误提示:(键入java Demo3)
NoClassDefFoundError:Demo3
错误原因:该目录下没有文件Demo3.exe,也可能是目录错误
6、java程序开发
class Demo //编译后生成Demo.class,Demo是类名 { public static void main(String[] args) //该行是java程序的主函数,主函数的格式固定,主函数的作用在于保证函数所在文件能过独立运行。主函数是程序执行的入口。 { System.out.println("Hello Java");//自动换行 System.out.println("Hello World"); } } //若要在class Demo前加上public,则要保证类名和java文件名保持一致。 //此处文件名为first.java,而类名是Demo,所以不能加上public。 //关键字区分大小写,全小写;类名由单词组成,每个单词的首字母大写! //通过javac编译时,若源文件内有多个class类,则生成相应个数的类文件。主函数不是一个类所必须的,而且一个源文件。源文件内可以由多个类,每个类里面都可以有主函数,但一个类里面只能有一个主函数。
Java介绍