您的位置:首页 > 编程语言 > Java开发

JAVA基础知识普及

2015-01-28 17:55 281 查看
本文是对一些基础概念的整理,转载内容部分,会标明转载出处。

 

Ref:http://www.cnblogs.com/myitm/archive/2011/05/03/2035942.html

JDK 和 JRE 的区别

JDK:Java Development Kit,是面向开发人员使用的SDK(Software Development Kit),它提供了Java的开发环境和运行环境。SDK可以包括函数库、编译程序等。

JRE:Java Runtime Enviroment,是指Java的运行环境,是面向Java程序的使用者,而不是开发者。

如果安装了JDK,会发现电脑有两套JRE,一套位于\Program Files\Java\jdk1.7.0_71\jre,另外一套位于 C:\Program Files\Java\jre目录下,后面这套比前面那套少了Server端的Java虚拟机。而且在安装JDK可以选择是否安装这个位于 C:\Program Files\Java 目录下的JRE。

我们编写的Java程序也必须要JRE才能运行。所以当你装完JDK后,如果分别在硬盘上的两个不同地方安装了两套JRE,那么你可以想象你的电脑有两台虚拟的Java PC机,都具有运行Java程序的功能。所以我们可以说,只要你的电脑安装了JRE,就可以正确运行Java应用程序。

1、为什么Sun要让JDK安装两套相同的JRE?

这是因为JDK里面有很多用Java所编写的开发工具(如javac.exe、jar.exe等),而且都放置在 \lib\tools.jar 里。JDK里的工具几乎是用Java所编写,所以也是Java应用程序,因此要使用JDK所附带的工具来开发Java程序,也必须要自行附带一套JRE才行。

位于C:\Program Files\Java目录下的那套JRE就是用来运行一般Java程序用的。

2、如果一台电脑安装两套以上的JRE,谁来决定呢?

这个重大任务就落在java.exe身上。Java.exe的工作就是找到合适的JRE来运行Java程序。 Java.exe依照底下的顺序来查找JRE:自己的目录下有没有JRE;父目录有没有JRE;查询注册表: [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment] 。java.exe的运行结果与你的电脑里面哪个JRE被执行有很大的关系。

 

JDK、JRE、JVM包含关系

JVM -- java virtual machine,java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。

光有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。

在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib。可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。

所以,在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包发给朋友,这样你的朋友就可以运行你写程序了。(jre里有运行.class的java.exe)

JDK的安装目录下面有六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、 jre。现在我们可以看出这样一个关系,JDK包含JRE,而JRE包含JVM。bin:最主要的是编译器(javac.exe);include:java和JVM交互用的头文件;lib:类库;jre:java运行环境(注意:这里的bin、lib文件夹和jre里的bin、lib是不同的)。JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。

eclipse等其他IDE有自己的编译器而不是用JDK bin目录中自带的,所以在安装时你会发现他们只要求你选中jre路径就ok了。

 

 

Ref:http://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html

设置Path:让操作系统找到指定的工具程序(以Windows来说就是找到.exe文件),

设置Classpath:让Java执行环境找到指定的Java程序(也就是.class文件)。

 

1)安装JDK

2)验证是否成功安装

    【Start】----【Run】----输入 CMD,在命令行输入“Java -version”查看版本信息。

3)配置环境变量

      Win7系统中,右击【Computer】---【Properties】,选中【Advanced system settings】,选中【Environment Variables...】。   

      选择【System Variables】--【new...】,在“Variable Name”文本框输入“JAVA_HOME”,在“Variable Value”文本框输入JDK的安装路径(例如:C:\Program Files\Java\jdk1.7.0_71),单击“OK”按钮。

      在【System Variables】选项区域中查看PATH变量,如果不存在,新建变量 PATH,否则选中该变量,单击“edit”按钮,在“Variable Value”文本框的起始位置添加“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;”,单击“OK”按钮。

       在【System Variables】选项区域中查看CLASSPATH 变量,如果不存在,新建变量CLASSPATH,否则选中该变量,单击“edit”按钮,在“Variable Value”文本框的起始位置添加“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”。注意“.;”表示当前路径。

4)测试环境变量的配置是否成功。在DOS命令行窗口输入“JAVAC”,输出帮助信息即为配置正确。

 

 

package

package就是把你这个程序所用到的全部类和文件(如图片等)全都放到一个包里面,用ZIP压缩,命名为JAR后缀。

import用于引用包中的一个类或几个类。包和文件夹感觉差不多,只不过包是JAVA专用的。

 

classpath里面可以写的一般只有zip文件、jar文件和目录。多个元素之间用当前系统路径分隔符间隔开了,linux上分隔符号是":",windows上是";"。

classpath在java里面是被一个叫做classloader的东西所使用的,顾名思义用于load class用的。

Java可运行程序是一组可以打包并压缩为一个Java文档文件(JAR)的.class文件。

For Example,

//必须在类路径中将JAR文件的实际名称写清楚,而不仅是指明它所在位置的目录。

CLASSPATH=.;D:\JAVA\LIB;C:\flavors\grape.jar

 

package net.mindview.simple;

...

//import可以使用通配符*,*代表某package下所有的class,不包括子目录。

import net.mindview.simple.*;

...

注意:

  import java.awt.*
  不等于
  import java.awt.*
  import java.awt.event.*
  如果你要简写java.awt.event下和java.awt下的类,你不能偷懒,两个都要import。
 
JAR:Java Archieve File,JAR文件包都包含MANIFEST。可执行JAR文件包的MANIFEST包含Main-Class(可执行主类全名)。
java -jar **.jar(运行可执行jar包)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息