java开发环境搭建

JDK:

JDK是JAVA Development Kit的简称,即JAVA开发套装。JDK是整个JAVA的核心,其中包括了JAVA运行环境(JRE)、Java开发工具和Java基础类库。

JRE的JAVA Runtime Environment的缩写,即JAVA运行环境。Java程序运行时必需要JRE的支持。

JDK是Java的开发平台,在编写Java程序时,需要JDK进行编译处理;JRE是Java程序的运行环境,包含了JVM的实现及Java核心类库,编译后的Java程序必须使用JRE执行。在下载的JDK安装包中集成了JDK与JRE,所以在安装JDK过程中会提示安装JRE。


Java的平台版本:

Java分为J2SE、J2EE和J2ME三个不同的平台版本,即标准版(Java 2 Platform, Standard Edition)、企业版(Java 2 Platform, Enterprise Edition)和微型版(Java 2 Platform, Micro Edition)。从Java 1.5(或者Java 5.0)开始,它们被改称为Java SE、Java EE和Java ME。

各平台版本之间的差别在于适用范围不同:
  • 标准版平台(Java SE)允许开发和部署在桌面、服务器、嵌入式和实时环境中使用的Java应用程序。另外,Java SE包含了支持实现Java Web服务的类库,因此标准版是企业版的基础。

  • 企业版平台(Java EE)帮助开发者开发和部署Java Web应用。企业版提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务的体系结构(Service-Oriented Architecture, SOA)和Web 2.0 应用程序。

  • 而微型版平台(Java ME)主要用于移动设备和嵌入式设备,如手机、PDA、电视机顶盒等等。微型版包括灵活的用户界面、健壮的安全模型、许多内置的网络协议、以及对可动态下载的在线和离线应用的支持。基于Java ME规范的应用程序与普通Java程序一样,只需编译一次,即可在许多设备上运行。

Java的版本:
  • 1995年5月23日,Java语言诞生
  • 1996年1月,JDK 1.0发布
  • 1997年2月18日,JDK 1.1发布
  • 1998年12月4日,J2SE 1.2发布,1.2版及其之后的版本也被称为Java 2
  • 1998年12月8日,Java 2企业版发布
  • 2000年5月8日,J2SE 1.3发布
  • 2002年2月13日,J2SE 1.4发布
  • 2004年9月30日,J2SE 1.5发布,J2SE 1.5版也被称为Java 5.0
  • 2006年12月,Java 6.0发布
  • 2010年9月,Java 7.0发布2014年3月19日,甲骨文公司发布Java 8.0的正式版。
  • 2014年3月, JAVA8
1. 下载JDK/JRE:

首先,访问Oracle公司的Java SE的下载主页 (http://www.oracle.com/technetwork/java/javase/downloads/index.html),选择一个版本(以Java SE 7为例),如下图:

java开发环境搭建_第1张图片


此页面包含多个版本的JDK、JRE、帮助文档、源代码等下载内容的链接。如果不是Java程序的开发者,仅仅想在自己的系统中运行Java程序,那么只需要一个JRE就可以了;如果想使用Java开发自己的应用程序,则需要下载JDK,其中已包含JRE,因此下载了JDK后无需再单独下载JRE。

这里以下载Java SE 7的JDK为例,点击相应的Download按钮,转到下载页面:

java开发环境搭建_第2张图片

在此页面中,包含了对应各种操作系统的JDK下载链接,选择自己系统对应的JDK,将其下载到本地硬盘上。注意,在下载之前需要先阅读“Oracle Binary Code License Agreement for Java SE”,必须接受其中的条款才能下载JDK(选中“Accept License Agreement”)。

2. 安装JDK/JRE:

无论是在Windows还是在Linux下安装JDK都很简单,与安装其他程序没什么不同。(因为我没有其他操作系统的环境,也没用过其他系统,因此不清楚在其他操作系统下的安装方法,但想来应该也不是难事——至少不会比安装其他程序难)。

在Windows中,双击刚才下载的“jdk-7-windows-i586.exe”文件,就会打开安装界面。点击“下一步”按钮,可以在此选择需要安装的组件和安装目录,窗口右侧是对所选组件的说明,包括组件功能和所需的磁盘空间;可以点击“更改”按钮来改变安装目录。点击“下一步”即开始正式安装。安装完毕后,将会显示安装已完成的信息,点击“完成”按钮即可完成安装。

来到安装文件夹下,即可以看到已安装的JDK的目录结构。(注意其中包含名为“jre”的文件夹,这就是前面说的JDK包含JRE的原因所在)

整个安装过程如下面几幅图所示:

java开发环境搭建_第3张图片   java开发环境搭建_第4张图片

java开发环境搭建_第5张图片   java开发环境搭建_第6张图片


注意:操作系统分为32位操作系统和64位操作系统,对应地,JDK也分为32位版和64位版(名称中带有“i586”或“x86”的为32位版,带有“x64”则表示该JDK为64位版)。64位版JDK只能安装在64位操作系统上,32位版JDK则既可以安装在32位操作系统上,也可以安装在64位操作系统上。原因是64位的操作系统能够兼容32位的应用程序。
换句话说,即使CPU是64位的,但如果安装的操作系统是32位的,那么也无法安装64位版的JDK。


在Linux中安装JDK与安装其他程序相同。下载时可以选择.rpm或.tar.gz格式的安装文件,这里以后者为例进行说明。

首先解压缩下载的文件,输入命令“
tar -xf jdk-7-linux-i586.tar.gz -C /usr ”,将文件解压到/usr目录下,这样就完成了安装(如图):

java开发环境搭建_第7张图片



环境变量

环境变量分为系统环境变量和用户环境变量。
   而用户环境变量只对当前用户起作用。
系统环境变量,对所有用户起作用
系统环境变量的意思是无论你是用那个用户帐号登陆后都能够共享的环境变量,就是有点公用的意味。
      而用户环境变量顾名思义就是只有这个用户登陆后才能被这个用户使用的环境变量,就是有点私有的意味。
      用户变量只对当前用户有效
     系统变量对本机所有用户有效

Windows操作系统中:path Path PATH三者是一样的,不区分大小写,多个则重复查找。

  例如你要用java,那么你把java的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登陆,在命令行输入java都会有java的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样。

  这个问题在linux下面就相对好理解一些,系统变量都在/etc/profile文件里面,而用户的变量则在~/.bash_profile(如果用的是bash的话),每个用户的用户目录对其他用户不可见。假设有a,b,c三个用户,你在a的变量文件中写入语句在屏幕上述出a,在b的输出b,c的什么都不输出,系统文件输出sys,那么当你用a用户登陆时,输出a;用户b登陆输出b,用户c则输出sys.
3. 设置环境变量:

环境变量是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等。环境变量相当于给系统或应用程序设置的一些参数。

编译或运行Java程序时,都是基于命令行的,因此在此之前必须设置一些环境变量的值。有些Java IDE(集成开发环境)内置了JDK,因此使用这些IDE时可以不指定环境变量。还有些程序需要个性化的环境变量(如Apache Tomcat需要JAVA_HOME环境变量)。

与JDK或JRE的使用有关的是PATH、CLASSPATH等几个环境变量。这里先解释一下这些变量的含义:

PATH变量用来告诉操作系统到哪里去查找一个命令。如果清空PATH变量的值,在Windows中运行一个外部命令时,将提示未知命令错误(当然,在Linux中也是一样):



注意:在Windows中,如“dir”、“cd”等命令是内部命令,类似于DOS中的常驻命令。这些命令在命令行窗口启动时会自动加载到内存中,不需要到磁盘上去寻找对应的可执行文件,因此即使清空了PATH变量的值也不会影响这些命令的使用。然而,像“java”这样的外部命令,在执行时必须先由操作系统到指定的目录找到对应的可执行程序,然后才能加载并运行。到哪里去寻找这些程序就是依靠PATH变量来指定的。
Linux也是类似,甚至可以说在Linux中,PATH环境变量更为重要,因为Linux的很多基本命令都属于外部命令,如“ls”、“mkdir”等。当将PATH变量清空后,这些命令都将无法使用(当然,还是有一些内部命令我们仍然可以使用)。


CLASSPATH是编译或运行Java程序时用来告诉Java编译器或虚拟机到哪里查找Java类文件的,后面会对其做详细介绍。

在Windows XP或之前的版本中,依次点击“右键我的电脑” -> “属性” -> “高级” -> “环境变量”;在Windows Vista和Windows 7中则依次点击“右键我的电脑” -> “属性” -> “高级系统设置” -> “高级” -> “环境变量”,打开环境变量设置窗口:

java开发环境搭建_第8张图片

添加下面的变量值:

变量设置

  • 变量名:JAVA_HOME
  • 变量值:C:\Program Files\Java\jdk1.7.0
//这里是你JDK的安装路径,可以更换
  • 变量名:CLASSPATH
  • 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //记得前面有个"."
  • 变量名:Path
  • 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;


1. PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。 

2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们 需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。 

3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。 


注意:在Windows中,环境变量分为“用户变量”和“系统变量”,它们的区别是,“用户变量”只对当前的用户起作用,而“系统变量”则对系统中的所有用户起作用。如果希望在多个用户之间共享环境变量的设置,可以将这些环境变量设置为系统变量,否则,应该使用用户变量,避免影响其他用户。在Linux中也有类似的概念,接下来会讲到。

------------------在Linux中没有经过测试,不一定对,只是参考------------------
在Linux中,可以通过编辑“~/.bashrc”文件来修改环境变量。在最后添加下面几行脚本,然后保存并退出:
JAVA_HOME=/usr/jdk1.7.0
JAVA_BIN=/usr/jdk1.7.0/bin
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.
export JAVA_HOME JAVA_BIN PATH CLASSPATH

java开发环境搭建_第9张图片

注意:Linux中,每个用户的home目录下都有.bashrc文件,这个文件用来保存用户的个性化设置,如命令别名、路径等,当然也可以用来定义环境变量。此文件是与每个用户相关的,一个用户的设置不会影响到其他用户,在这里设置环境变量相当于前面讲的Windows的用户环境变量。Linux中全局设置通常保存在“/etc/profile”文件中。
另外,Linux中PATH和CLASSPATH的分割符都是“:”(冒号),而Windows中是“;”(分号)。


当环境变量设置完成后,在Windows中打开新的命令行窗口,在Linux中使用“source ~/.bashrc”命令重新加载.bashrc文件,即可使新的环境变量生效。输入“java -version”命令,还需输入“javac”即编译器是否存在。应该会打印出类似下面两幅图所示的内容:

Windows命令行的输出:


Linux的输出:



对以上步骤补充说明几点:

  1. 可以在Windows命令行或Linux Shell中使用命令设置环境变量。例如,在Windows中可以使用“set var_name=some value”,在Linux中使用“var_name=some value”,这种方式与上面介绍的方式的区别在于:这种方式的设置是临时性的,当重新启动一个新的命令行窗口(Windows)或重新登录(Linux)后,这些临时变量就会丢失。

  2. JDK版本混乱:有时候,使用“java -version”命令可以打印出JDK的版本信息,但却与我们刚刚安装的JDK版本不一致。比如我们明明安装的是JDK 7,但却打印出JDK 6的版本信息,如下图所示:

                           

    检查PATH变量,发现其中有一个路径为“C:\Program Files (x86)\Java\jdk1.6.0_25\bin”,原来我的系统中安装了两个版本的JDK,JDK 6和JDK 7。由于此JDK 6在系统环境变量PATH中,而Windows查找命令对应的程序时,首先查找的是系统变量,当找到了一个可用的java程序时,Windows将运行这个程序,而不再进一步查找。也就是说,系统PATH环境变量屏蔽了用户PATH环境变量。

    不光如此,靠近PATH变量前部的路径中的程序将屏蔽其之后的路径中的同名程序。如同样是在系统PATH变量中,“C:\Program Files (x86)\Java\jdk1.6.0_25\bin;C:\Program Files (x86)\Java\jdk1.7.0\bin”,那么JDK 6仍然将屏蔽JDK 7,如果将它们的顺序交换:“C:\Program Files (x86)\Java\jdk1.7.0\bin;C:\Program Files (x86)\Java\jdk1.6.0_25\bin”,结果则相反。

    不只是用户安装了多个版本的JDK时可能导致JDK版本的混乱,而且很多软件产品自身会包含JDK,即使用户只安装了一个JDK,但仍有可能与这些软件中的JDK互相屏蔽(如果这些软件同时也设置了环境变量的话)。例如Oracle数据库、MyEclipse等都包含自己的JDK。

    在Windows下我还遇到过一个问题,那就是居然在Windows\system32目录下发现了java.exe、javaw.exe、javaws.exe三个文件,因为系统PATH变量中此目录处于较靠前的位置,因此很容易将用户自己安装的JDK屏蔽掉。

    有三种方法来解决这个问题:

    第一种方法是使用绝对路径,例如我们运行命令时使用“"C:\Program Files (x86)\Java\jdk1.7.0\bin\java.exe"”(当然,.exe可以省略)而不是“java”。使用绝对路径时,操作系统会直接根据路径定位到命令所在的目录,不再通过PATH变量来查找。这种方法的优点是绝对不会导致命令的覆盖,但缺点也很明显:必须输入完整的路径来运行命令(通常也很长)。

    需要注意的是,当绝对路径中存在空格时(如上面的例子那样),需要将命令用英文双引号引起来。在设置PATH变量时不需要这样做,操作系统会自动完成这件事。

    第二种方法是将自己安装的JDK路径设置到系统PATH变量的开头,这样,操作系统查找命令时就会最先查找我们设置的路径。但这种方法的缺点就是可能会影响其他用户(设置在了系统PATH变量中),并且可能会影响其他程序(其他的JDK被我们的屏蔽了)。

    第三种方法就是设置一个新的环境变量,例如“JAVA_HOME”,将其值设置为我们安装的JDK的路径,如“C:\Program Files (x86)\Java\jdk1.7.0”,我们运行时,只需输入“"%JAVA_HOME%\bin\java"”即可(注意当路径中含有空格时要用双引号将命令引起来)。Apache Tomcat就使用这种方法。



第一个Java程序

下面看一个简单的Java程序,它将打印字符串 Hello World

实例

public class HelloWorld {
    /* 第一个Java程序
     * 它将打印字符串 Hello World
     */
    public static void main(String []args) {
        System.out.println("Hello World"); // 打印 Hello World
    }
}

运行实例 »

下面将逐步介绍如何保存、编译以及运行这个程序:

  • 打开Notepad,把上面的代码添加进去;
  • 把文件名保存为:HelloWorld.java;
  • 打开cmd命令窗口,进入目标文件所在的位置,假设是C:\
  • 在命令行窗口键入 javac HelloWorld.java  按下enter键编译代码。如果代码没有错误,cmd命令提示符会进入下一行。(假设环境变量都设置好了)。
  • 再键入java HelloWorld 按下Enter键就可以运行程序了
  • 必须输入完整的包名和类名(不需要.class后缀),且大小写不能弄错(因为Java是区分大小写的)

你将会在窗口看到 Hello World

C : > javac HelloWorld.java
C : > java HelloWorld 
Hello World







你可能感兴趣的:(java,jdk,jre)