JDK
++bin、lib、include、一个src类库源码压缩包、几个声明文件
|-----jre
++
|-------bin即jvm
|-------lib
- 1.JVM -- java virtual machine
是.class与操作系统交互的中介;把.class解释给本地系统执行。(jvm里有运行.class的java.exe)
.dll .exe
- 2.JRE -- java runtime environment
lib、bin
jre则是只能运行class而没有编译的功能;
lib是jvm解释.class时候,需要的类库(工具),即jvm工作需要的类库。
把.class和jre发给你的朋友,就可以运行程序。
- 3.JDK -- java development kit
bin:最主要的是编译器(javac.exe) 编译器
include:java和JVM交互用的头文件(*.h)
lib:类库
jre:java运行环境
- 4、eclipse、idea等其他IDE有自己的编译器而不是用JDK bin目录中自带的,所以在安装时你会发现他们只要求你选中jre路径就ok了
- 5、Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析
5.1 JAVA_HOME 指向的是JDK的安装路径
5.2 path是为jdk提供的那些工具设的,指向JDK的bin目录,用户执行的命令在系统中的查找顺序。
5.3 CLASSPATH .;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar
classpath是为java程序所用到的库文件所设的 ;
1)点分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的) ;
如果我们开发的一个应用中用到了非j2se提供的库文件,则需将这些文件加到classpath中,比如说利用javamail开发一个邮件应用,就应该把mail.jar
等文件加到classpath中:java_homejrelibextmail.jar;.
2)为什么CLASSPATH后面指定了tools.jar这个具体文件:这个是由java语言的import机制和jar机制决定的;
Java所编写的开发工具(如javac.exe、jar.exe等),都放置在 lib ools.jar 里;
运行javac.exe 等同于 java -cp c:jdklib ools.jar com.sun.tools.javac.Main:所以 javac.exe只是一个包装器(Wrapper),而制作的目的是为了让开发者免于输入太长的指命。
3)命令提示符下可以使用的变量数目是用户变量加上系统变量之和,
- 6、JAVASE环境搭建
1)sun公司的java技术平台根据其应用环境分为三个版本JavaEE企业级应用程序的开发,Javase普通桌面应用程序的开发,Javame移动设备和电子产品应用程序的开发;
这三个版本分别有其开发包SDK.SUN为不同的操作系统提供了不同的JDK。
2)JDK里有什么呢:java程序的开发工具:javac命令等,运行环境java和核心类包,
3)如何安装jdk
4)搭建运行和开发环境
a、cmd命令进入命令提示符窗口,也就是dos界面
b、敲java,会出现java命令的帮助信息
c、敲javac,提示 既不是内部外名命令,也不是可运行的程序或者批处理文件,为什么会出现这样的情况呢,因为操作系统执行命令时候,先到当前目录下查找这个命令文件,
找不到再去path指示的多条路径里面去搜索,都找不到,会报上面的问题。怎样让操作系统找到javac命令呢,修改系统变量path,这样不用每次运行这个命令都到jdk/bin去了;现在可以生成字节码了.class文件;字节码要在虚拟机中运行。虚拟机要使用的字节码文件路径,必须在classpath的操作系统变量里面得到。否则虚拟机找不到这个字节码文件。
d、dos窗口设置的系统变量,只对当前窗口有效。如果要对每一个dos窗口都有效,需要到桌面上去做。set classpath=%classpath%;class文件的路径。
- 7、JAVAEE运行环境搭建
a、JAVAEE运行环境的搭建是以J2se为基础的。
b、path里面添加jee的bin目录
c、javahome :java的安装目录 j2ee_home:jee的安装目录
d、在classpath 添加关键的jar包:javaee.jar
e、验证j2ee环境是否已经搭建完成:
J2ee -Verbose
如果出现。。。。。表示j2ee服务器启动成功;
f、服务器默认界面正常启动,才可web开发,J2ee服务器提供的web服务端口号;参见http://wenku.baidu.com/view/94b0db056c85ec3a87c2c58f.html