Java疑点

1、左边部分是编译环境,右边部分是运行环境(Runtime Environment)。

  Java编程语言是与众不同的,因为Java源程序需要经过编译和解释两个过程,编译只需进行一次,而解释则在每次运行程序是都要进行。编译由JDK开发包提供的编译器(JDK开发包下的bin文件夹下的一个名为javac.exe可执行文件)进行。

  2、JDK与jre

 

  JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
  JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。

  3、path与classpath

  path是系统用的,配了之后,可以在cmd中直接使用jdk里bin目录下的命令,不配置的话,cmd下cd命令进入jdk下bin目录一样访问。
  classpath是java调用时需要的工具类所在地址,用来指定我们自己所写的或要用到的类文件。

  注意:path下都是.exe文件,而classpath下是.jar文件。

  4、为什么要配置环境变量

  在我们的window系统中,安装的软件都有路径的。如果我们不配置环境变量的话,我们就只能在jdk的安装路径下才能运行。换到了其它的路径就不行了,系统就会提示找不到路径,为了能在任务路径下都可以运行jdk,我们就要配置环境变量。

  5、一个小问题

  配置好path和classpath后,cmd命令行下java命令可以用,javac不可以用,但是用eclipse开发、编译、运行程序一直没有问题。这个很奇怪,因为java.exe和javac.exe在同一个目录下,如果path配错了,windows找不到路径就会两个命令都不执行,但是情况却不是这样的。最后发现时JAVA_HOME配错了,不是C:Program Filesjre7而应该是C:Program FilesJavajdk1.7.0,而恰巧,eclipse、idea等其他IDE有自己的编译器而不是用JDK bin目录中自带的,所以一直用起来都没有发现问题,但是jre7是运行环境,目录下有java.exe而没有javac.exe,故cmd下出错。

 

原文地址:https://www.cnblogs.com/tangjuanj/p/3576907.html