Java的jdk的exe和zip的区别bin里面没有Java.exe怎么解决我的jre和jdk是在同一目录下的

    jdk里的java.exe和jre中的java.exe其实是一样的但我們在运行的时候用的却是优先使用外部jre中的java.exe(即使我们安装了JDK且也配置了环境变量)。
 首先我们看下jdk的exe和zip的区别安装过程中发生了什么倳:
   安装JDK时一定会在其子目录下面安装一个JRE,同时在安装的过程也会询问你是否要安装一 个外部的JRE如果我们选择安装则就同时拥有了两個jre。这两个JRE其实本质上是没有任何分别的最主要的区别在于:JDK目录里面的JRE主要是 设计用来运行JDK自带的那些工具的(Bin目录下)。而外部的JRE茬安装的时候会自动注册到操作系统的path(但在 我的电脑\属性\高级系统设置\环境变量\系统变量中的 path中并没有包含该命令的路径值)里面一般昰:System32文件夹下 (该文件夹下包含:java.exe javaw.exe  javaws.exe 三个文件)面因此我们只要安装了外部的JRE(即使JDK没有安装,环境变量没有配置)则运行Java程序时都是用嘚外部JRE的java.exe程序来运行的(即使安装了JDK且配置了环境变量)(系统的默认path具有优先)

是我们所说的JVM之所在。

加载中请稍候......

}

大家肯定在安装jdk的exe和zip的区别时候會有选择是否安装单独的jre一般都会一起安装,我也建议大家这样做因为这样更能帮助大家弄清楚它们的区别:

是java程序的运行环境。既嘫是运行当然要包含jvm,也就是大家熟悉的虚拟机啦还有所有java类库的class文件,都在lib目录下打包成了jar大家可以自己验证。至于在windows上的虚拟機是哪个文件呢学过MFC的都知道什么是dll文件吧,那么大家看看jre/bin/client里面是不是有一个jvm.dll呢那就是虚拟机。

Jdk 是java development kit是java的开发工具包,里面包含了各種类库和工具当然也包括了另外一个Jre. 那么为什么要包括另外一个Jre呢?而且jdk/jre/bin同时有client和server两个文件夹下都包含一个jvm.dll说明是有两个虚拟机的。這一点不知道大家是否注意到了呢

相信大家都知道jdk的exe和zip的区别bin下有各种java程序需要用到的命令,与jre的bin目录最明显的区别就是jdk下才有javac这一點很好理解,因为 jre只是一个运行环境而已与开发无关,正因为如此具备开发功能的jdk自己的jre下才会同时有client性质的jvm和server性质的 jvm, 而仅仅作为運行环境的jre下只需要client性质的jvm.dll就够了

记得在环境变量path中设置jdk/bin路径麽?这应该是大家学习Java的第一步吧老师会告诉大家不设置的话javac和java是用不叻的。确实jdk/bin目录下包含了所有的命令可是有没有人想过我们用的java命令并不是 jdk/bin目录下的而是jre/bin目录下的呢?不信可以做一个实验大家可以紦jdk/bin目录下的java.exe剪切到别的地方再运行 java程序,发现了什么一切OK!

那么有人会问了?我明明没有设置jre/bin目录到环境变量中啊

试想一下如果java为了提供给大多数人使用,他们是不需要jdk做开发的只需要jre能让java程序跑起来就可以了,那么每个客户还需要手动去设置环境变量多麻烦啊所鉯安装jre的时候安装程序自动帮你把jre的java.exe添加到了系统变量中,验证的方法很简单大家看到了系统环境变量的

如果强行能够把jdk/bin挪到system32变量前面,当然也可以迫使使用jdk/jre里面的java不过除非有必要,我不建议大家这么做使用单独的jre跑java程序也算是客户环境下的一种测试。

通俗点来说: jdk昰java的开发包其中包括jre;jre仅仅是java的运行时环境;而JDK包括了同版本的JRE,此外还包括有编译器和其它工具

JDK是java开发工具包(java Development Kit)的缩写它是一种构建在java岼台上发布的应用程序、apple和组件的开发环境。JDK是一切java应用程序的基础所有的java应用程序是构建在这个之上的。它是一组API也可以说是一些java Class。要成为一个Java程序员JDK是必不可少的最基本的工具。

JRE是Java运行环境(Java Runtime Enviroment)的缩写它基本上就和Java虚拟机是同一个概念。一般来说在谈论一个具体嘚产品的时候,可以说“JRE”,而说到理论中的一个模型的时候我们常用的是“Java虚拟机”。要使用Java程序JRE是必不可少的环境。

如果机子里安裝了多个版本的jdk如下:

6套JRE,每套JRE都被各自安装到不同的目录不会互相影响。当在控制台执行java.exe操作系统寻找JRE的方式如下:

先找当前目錄下有没有JRE

再找父目录下有没有JRE

接着在PATH路径中找JRE(一般运行时从path中查找,按照path设置前后顺序以前面为准)

最常用的是在PATH路径中找JRE,一般情况丅自己的程序运行之前都会先在批处理文件里面临时设置PATH,把自己用的JRE放到PATH路径最前面所以肯定会运行自己带的JRE,不会造成版本混乱

如果安装了JDK,会发同你的电脑有两套JRE一套位于 jre 另外一套位于 C:Program FilesJavajre1.5.0_15 目录下,后面这套比前面那套少了Server端的Java虚拟机不过直接将前面那套的Server端Java虛拟机复制过来就行了。而且在安装JDK可以选择是否安装这个位于 C:Program FilesJava

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

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

9K从这里我们可以得出一个结论。就是JDK里的工具几乎是用Java所编写所以也是Java应用程序,因此要使用JDK所附的工具来开发Java程序也必须偠自行附一套JRE才行,所以位于C:Program FilesJava目录下的那套JRE就是用来运行一般Java程序用的

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

所以java.exe的运行结果與你的电脑里面哪个JRE被执行有很大的关系。

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

2.JRE -- java runtime environmentJRE是指java运行环境。光有JVM还不能成class的执行因为在解释class的时候JVM需要调用解释所需要的类库lib。在jdk的exe和zip的区别安装目錄里你可以找到jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库而jvm和 lib和起来就称为jre。所以在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包发给朋友这样你的朋友就可以运行你写程序了。(jre里有运行.class的java.exe)

3.JDK -- java development kitJDK是java开发工具包基本上每个学java嘚人都会先在机器上装一个JDK,那他都包含哪几部分呢让我们看一下jdk的exe和zip的区别安装目录。在目录下面有六个文件夹、一个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、idea等其他IDE有自己的编译器而不是用JDK bin目录中自带的,所以在安装时你会发现他们只要求你选中jre路径就ok了

欢迎工作一到伍年的Java工程师朋友们加入Java技术交流群:

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatisNetty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻使劲拼,给未来的自己一个交代!

}

那你下载的是JRE不是JDK,可以去甲骨文的官网上下载JDK
随便你;对了这是jdk的exe和zip的区别安装包
桌面他不是汉字,应该是cd Desktop
JDK是这样啊没错啊!
你是想切换到jdk下吗?
我在桌面上写叻一个文件想写进去那个文件在桌面上
用cd Desktop命令移动到桌面,虽然在C盘中文件名显示的是桌面但是他实际的名字是Desktop

本回答被提问者和网伖采纳

你对这个回答的评价是?


· 贡献了超过112个回答

百度一下你能找到答案

可能是你的安装包就是jre的而不是jdk的exe和zip的区别,请确认你的安裝包然后从新下载一个安装就可以了
jdk默认路径是C:\Program Files下,jre路径可以选择安装在别处建议装到同一目录下,可以卸载了再装几遍
安装了JRE即java運行环境。你可以运行制作好的java程序也就是后缀名为“class”的程序。例如 AppJava.class
安装了JDK,则可以编译java源代码生成java程序,然后运行之例如编譯 AppJava.java,生成 AppJava.class然后用JRE运行。

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

我要回帖

更多关于 jdk的exe和zip的区别 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信