码迷,mamicode.com
首页 > 其他好文 > 详细

(二)jdk的安装和环境变量的配置

时间:2017-08-27 13:32:12      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:dos   jvm   意思   java配置   哪些   是什么   run   增加   过程   

JAVA基础(二)

--jdk的安装和环境变量的配置

一、为什么要安装jdk,jdk是什么?

 

  JDK是java软件开发包(Java Development Kit)的简称,要想开发java程序就必须安装JDK。没有JDK的话,无法编译运行Java程序。
因为JDK包含的基本组件包括编译运行java文件的exe文件:

可想而知,没有jdk就没有编译器,java文件无法编译,没有java.exe,就无法运行字节码文件(.class文件)

  其实进行java开发不仅需要jdk,还需要jre(Java Runtime Environment,Java运行环境),jdk包含编译器运行器和类库(3500多个类常用150多个)等,而jre包括Java虚拟机(jvm)、Java核心类库和支持文件。不过现在的jdk都帮我们集成了jre,所以安装jdk就等于安装了两个。

 

  当然安装jdk只是为了在cmd控制台能够编译运行我们写的java文件,当我们拥有eclipse或其他编程软件的时候,它们是自带jdk的,我们不另外安装也是可以的。

 

二、常用的java命令和常用的cmd路径跳转命令

常用Java命令:

java -version 显示jdk版本
javac – 编译器,将源程序转成字节码
java – 运行编译后的java程序(.class后缀的)

等...

 技术分享

 

  安装好jdk后,cmd控制台中在能使用java命令的情况下:

  输入javac  D:\Hello.java(想编译的java文件路径)即可编译,别忘了中间有个空格,编译之后会在该java文件的相同目录下生成一个同名的.class文件(Hello.class),这是一个字节码文件,一般不可以再反编译回java文件,所以你的东西想给别人运行但是不想给他源码的时候就直接给他.class文件即可,值得一提的是,这个class文件只针对它编译时的java文件,你java文件改变后,如果需要新的class文件,需要重新编译。

  而运行字节码文件,在没有配置相关环境变量的时候,必须先切换到class文件目录下才可以使用java Hello(需运行的class文件名字,不需要.class后缀)

常用cmd命令:

Cd.. -->返回上级目录

 技术分享

 

Cd  路径 -->跳转到该路径

 技术分享

 

Dir -->显示当前目录下的所有文件

 技术分享

 

在硬盘的最上级目录下,d: -->跳转到D盘

 技术分享

 

三、下载和安装

官网(sun公司):http://www.sun.com

一般我们直接谷歌搜索jdk,就能出来

1.

 技术分享

 

2.

 技术分享

 

3.

 技术分享

 

安装步骤(傻瓜式安装)

 技术分享

技术分享

技术分享

技术分享

技术分享

 

安装过程中还会弹出java的安装,它的安装路径是你jdk的同级安装路径下的jre包中,一并下一步下一步安装,这其实是jre的安装。

 技术分享

 

安装完成:

 技术分享

 

 安装成功的标志是什么呢?我们在cmd命令台中跳转到jdk安装的bin目录下输入java -version会显示jdk的版本号即表示安装成功

 技术分享

  当安装完成后,我们就在安装路径下面发现了一大堆东西,其中在bin目录下我们可以找到我们刚刚提出的javac.exe – 编译器,将源程序转成字节码,java.exe – 运行编译后的java程序,其实我们此时就可以编译我们写的java文件了。

 

四、编译

cmd中先跳转到安装的jdk的bin目录下

 

  在跳转到jdk的bin目录下后,我们就能使用java命令了,当我们在控制台中使用javac命令时,系统会在我们的当前目录下寻找javac.exe,同理,其实我们输入的命令能执行出来其实都是运行了相关的exe而已。

 

使用javac编译我在D盘写的Hello.Java

 技术分享

技术分享

 

看,没有报任何错误,说明编译成功,并且在我的D盘下多了一个Hello.class文件,这就是编译的结果。

 

五、字节码文件的运行

 技术分享

 

为什么配置环境变量或者切换目录就可以使用java命令或者找到class文件:

 

 

  环境变量告诉系统, 当要求系统运行一个程序或者找寻一个文件而没有告诉它程序所在的完整路径时, 系统除了在当前目录下寻找此程序或文件外, 还应到哪些目录下去找。 至于名字为什么叫PATH和CLASSPATH,这是一种原始的dos命令,沿用至今,也就是系统规定的,你取其他名字再放变量值是不行的。

 

①配置path环境变量+切换到class文件目录下

 

如果我们不配置path环境变量,在cmd命令行中不跳转路径直接输入java,javac等命令,控制台在当前目录下找不到相应exe文件,就会提示你不是可运行的程序或批处理文件,即无法使用jdk中相关的javac编译器和java运行器。

 技术分享

  在此电脑--属性--高级系统设置--环境变量中,新建用户变量或者系统变量(用户变量只对电脑的当前用户起作用,系统变量对所有的用户起作用)PATH(最好大写),然后将变量值写为你安装的jdk目录下的bin的路径(我的是C:\Program Files (x86)\Java\jdk1.8.0_91\bin),确定即可。

 技术分享

 

  此时你再去命令台试试相关命令,就会发现可以使用,也可以编译java文件,其实此时我们不管在cmd的哪个路径下,都可以找到java命令了。

 技术分享

技术分享

 

 

 

此时我们可以切换到class目录下,再用java命令运行D盘的class文件,也能出结果。

技术分享

 

②配置path环境变量+配置classpath环境变量

 

 

  配置完path环境变量之后,我们可以在任何地点使用java命令了,能不能有一种方法让我们也能在任何地点都能找到class文件呢?

这也是配置环境变量就可以,配置系统变量CLASSPATH,值就为你class文件所在的目录。(由于我的class文件在D盘,就为D:\即可)

 技术分享

 

配置完成后,我们在哪里都能找到这个class文件了

让我们运行试试(运行class文件不需要加.class后缀名)!

 技术分享

可是这样也太麻烦了,有一个class文件就得给classpath增加一个值,所以并不建议使用此方法。

 

③切换到jdk的bin目录下+切换到class文件目录下

 

  有人说,怎么可能同时切换得到两个文件的目录下,其实我们只要把class文件拷贝到jdk的bin目录下,到时候切换到jdk的bin目录下,不也就切换到了class文件目录下吗。

技术分享

技术分享

 

看,输出了一个Hello World!说明运行成功!

可是这样也太麻烦了,每次都需要拷贝,所以也不建议使用此方法。

 

④切换到jdk的bin目录下+配置classpath环境变量

技术分享

 

同理,我们还是得每次配置classpath,所以也不建议这样做。

 

 

 

 

提问:那是不是就配一个path用第一种方法就好了呢?

 

  我们java常用的核心类库需要我们随时能找到,所以我们一般还是会配置一个classpath并在classpath中配置jdk的lib目录下的dt.jar,和tools.jar。虽然我们知道cmd命令台默认会先去当前目录下找类,我们还是一般在classpath里加一个”.;”,这个也是表示当前目录下的意思。

 

配置完成:

Classpath值为:

.;C:\ProgramFiles(x86)\Java\jdk1.8.0_91\lib\dt.jar;C:\ProgramFiles(x86)\Java\jdk1.8.0_91\lib\tools.jar

path的值为:

C:\Program Files (x86)\Java\jdk1.8.0_91\bin

 

在命令台中输入set path和set classpath也可以查看到:

技术分享

 

  其实到这里我们的环境配置就已经完成了,但是如果我们换了一个jdk,就要把bin和lib前面的一大串又重新写一遍。

所以,一般我们还会建一个JAVA_HOME环境变量,存放jdk主目录(C:\Program Files (x86)\Java\jdk1.8.0_91)

在classpath和path中,我们使用%JAVA_HOME%就可以将jdk主目录引用过来了。

如图,这就是最终的配置结果:

技术分享

 

在系统查看变量的时候,被引用了的环境变量会被换成该环境变量的值,所以查看的时候还是会显示总路径

 技术分享

 

  这样,我们改了jdk的目录的时候,只需要改一个JAVA_HOME的路径就可以了,是不是很方便呢?

当然,JAVA_HOME作为一个被引用的值,名字是可以随便取的,只是为了见名知意和便于其它java配置的寻找,才叫JAVA_HOME。你要是没有其它java工具,其实叫什么都可以,但如果有tomcat或者其它java工具需要用到jdk,只有叫JAVA_HOME才可以被找到。

 技术分享

 

(二)jdk的安装和环境变量的配置

标签:dos   jvm   意思   java配置   哪些   是什么   run   增加   过程   

原文地址:http://www.cnblogs.com/myz666/p/7440070.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!