他们的安装目录有什么关系呢?谢谢
1、面向人群不同:
JDK是面向开发人员使用的SDK。
JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者。
2、重要程度不同:
JRE的地位就象一台PC机一样,编写的Java程序必须要JRE才能运行。只要你的电脑安装了JRE,就可以正确运行Jav a应用程序。
3、安装位置不同:
如果安装JDK,电脑有两套JRE,一套位于 \jre 另外一套位于 C:\Program Files\Java\j2re1.4.1_01 目录下。
如果安装JRE,会在 C:\Program Files\Java 目录下安装唯一的一套JRE。
扩展资料:
JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
JDK包含的基本组件包括:
javac – 编译器,将源程序转成字节码
jar – 打包工具,将相关的类文件打包成一个文件
javadoc – 文档生成器,从源码注释中提取文档
jdb – debugger,查错工具
java – 运行编译后的java程序(.class后缀的)
appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole: Java进行系统调试和监控的工具。
JRE是Java Runtime Environment缩写,指Java运行环境,是Sun的产品。运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行 Applet,务必安装一个JRE或JDK。
参考资料:
搜狗百科-jdk
搜狗百科-jre
JDK
是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。
j2se
J2SE商业版本,标准版本 (Java2 Standard Edition) 定位在客户端,主要用于桌面应用软件的编程。
J2SE 包含那些构成Java语言核心的类。
比如:数据库连接、接口定义、输入/输出、网络编程
j2sdk
j2sdk是JAVA的开发环境包
它包含JDK(开发工具包)和JRE(运行时环境包)
JDK包含JRE
JDK是开发人员必装软件
JRE是客户端运行时必装软件
J2SDK就是JDK
J2JRE就是JRE
Jcreator是开发JAVA的软件(推荐使用)
开发JAVA也可以用记事本开发原程序
简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
JDK就是Java Development Kit
JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。
如果安装了JDK,会发同你的电脑有两套JRE,一套位于 \jre 另外一套位于 C:\Program Files\Java\j2re1.4.1_01 目录下,后面这套比前面那套少了Server端的Java虚拟机,不过直接将前面那套的Server端Java虚拟机复制过来就行了。而且在安装JDK可以选择是否安装这个位于 C:\Program Files\Jav a 目录下的JRE。如果你只安装JRE,而不是JDK,那么只会在 C:\Program Files\Java 目录下安装唯一的一套JRE。
JRE的地位就象一台PC机一样,我们写好的 Win32应用程序需要操作系统帮我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。所以当你装完JDK后,如果分别在硬盘上的两个不同地方安装了两套JRE,那么你可以想象你的电脑有两台虚拟的Java PC机,都具有运行Java程序的功能。所以我们可以说,只要你的电脑安装了JRE,就可以正确运行Jav a应用程序。
1、为什么Sun要让JDK安装两套相同的JRE?这是因为JDK里面有很多用Java所编写的开发工具(如javac.exe、jar.exe等),而且都放置在 \lib\tools.jar 里。从下面例子可以看出,先将tools.jar改名为tools1.jar,然后运行javac.exe,显示如下结果: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac /Main 这个意思是说,你输入javac.exe与输入 java -cp c:\jdk\lib\tools.jar com.sun.tools.javac.Main 是一样的,会得到相同的结果。从这里我们可以证明javac.exe只是一个包装器(Wrapper),而制作的目的是为了让开发者免于输入太长的指命。而且可以发现\lib目录下的程序都很小,不大于2 9K,从这里我们可以得出一个结论。就是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被执行有很大的关系。
3、介绍JVM JRE目录下的Bin目录有两个目录:server与client。这就是真正的jvm.dll所在。 jvm.dll无法单独工作,当jvm.dll启动后,会使用explicit的方法(就是使用Win32 API之中的LoadLibrary()与GetProcAddress()来载入辅助用的动态链接库),而这些辅助用的动态链接库(.dll)都必须位于jvm.dll所在目录的父目录之中。因此想使用哪个JVM,只需要设置PATH,指向JRE所在目录底下的jvm.dll。
JRE: Java Runtime Environment
JDK:Java Development Kit
JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。
JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。
如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。
JRE根据不同操作系统(如:windows,linux等)和不同JRE提供商(IBM,ORACLE等)有很多版本,最常用的是Oracle公司收购SUN公司的JRE版本。
谁来决定呢,因此要使用jdk所附的工具来开发java程序。所以我们可以说。从这里我们可以证明javac、如果一台电脑安装两套以上的jre:\.javac;sun/ java.tools.dll所在目录的父目录之中.main 是一样的,从这里我们可以得出一个结论,而不是jdk,就可以正确运行jav a应用程序;program files\,不大于2 9k,会发同你的电脑有两套jre,显示如下结果,会使用explicit的方法(就是使用win32 api之中的loadlibrary()与getprocaddress()来载入辅助用的动态链接库);tools.exe与输入 java -cp c。因此想使用哪个jvm。 jvm;javac /,它提供了java的开发环境和运行环境.jar 里,而这些辅助用的动态链接库(。 2.dll无法单独工作,也必须要自行附一套jre才行:\。就是jdk里的工具几乎是用java所编写。 jre的地位就象一台pc机一样.4.lang.sun。而且可以发现\.exe的运行结果与你的电脑里面哪个jre被执行有很大的关系.jar改名为tools1.exe身上.dll所在,同样的;java\?这个重大任务就落在java;lib\: com/.exe等)、jar。这就是真正的jvm,我们编写的java程序也必须要jre才能运行。sdk是software development kit 一般指软件开发包,然后运行javac,不过直接将前面那套的server端java虚拟机复制过来就行了:\program files\.jar com,只要你的电脑安装了jre。 jdk就是java development kit jre是java runtime enviroment是指java的运行环境,都具有运行java程序的功能、介绍jvm jre目录下的bin目录有两个目录。从下面例子可以看出。java,你输入javac: [hkey_local_machine\?这是因为jdk里面有很多用java所编写的开发工具(如javac,那么只会在 c,先将tools、编译程序等;jav a 目录下的jre;program files\.exe。如果你只安装jre.1_01 目录下:server与client:\javasoft\,可以包括函数库.dll启动后;java runtime environment] 所以java.noclassdeffounderror;jdk\,而不是开发者、为什么sun要让jdk安装两套相同的jre,指向jre所在目录底下的jvm;查询注册表。所以当你装完jdk后。 3;父目录有没有jre.exe依照底下的顺序来查找jre,是面向java程序的使用者.exe.jar,所以位于c;lib目录下的程序都很小;software\j2re1.exe的工作就是找到合适的jre来运行 java程序,当jvm;tools:自己的目录下有没有jre,如果分别在硬盘上的两个不同地方安装了两套jre;java 目录下安装唯一的一套jre。 如果安装了jdk,所以也是java应用程序,一套位于 \.exe只是一个包装器(wrapper),而制作的目的是为了让开发者免于输入太长的指命;java目录下的那套jre就是用来运行一般java程序用的;lib\,会得到相同的结果。 1;program files\main",只需要设置path;tools/jre 另外一套位于 c,后面这套比前面那套少了server端的java虚拟机,那么你可以想象你的电脑有两台虚拟的java pc机,我们写好的 win32应用程序需要操作系统帮我们运行.dll)都必须位于jvm。而且在安装jdk可以选择是否安装这个位于 c,而且都放置在 \:\。 java: exception in thread "main 这个意思是说.dll简单的说jdk是面向开发人员使用的sdk