JAVAjre,Java的jre是什么

1,Java的jre是什么JRE打全了是Java Runtime Environment,意思是Java运行环境各种系统平台要运行JAVA的程序都必须先装一个这样的环境,这是java跨平台特性的一个体现 。当然有些系统平台是自带的 。当然这里面不包括windows 。java runtime env java运行环境 和 .net framwrok 类似 因为java和.net都是伪编译 其实是运行时解释运行的 , 解释的环境就是jre
2,JAVA中的JRE是做什么用的呢JRE你就想象成一台能运行java程序的模拟器(用JVM技术)JDK就是相当于JAVA的开发平台如果你只想运行java的程序就装个JRE就行了,装JDK也可以,因为JDK里面有JRE 。jre 是运行环境 。jdk 是开发环境(编译+运行)。jdk可以取代jre。但jre体积更小 。在有些时候需要java做动态编译 。这就需要程序必须运行在jdk中 。也就是带编译器的环境下一般的用户只要安装JRE就可以运行JAVA程序,而JDK包含了JRE是给开发人员用的,所以安装了JDK就不需要再安装JRE了 。JRE就是java的运行环境,你一定在书上看到过,java相比于其他编程语言,有一个跨平台的优点,在这里发挥作用的就是jre,它为用Java写的程序提供了一个虚拟的环境(采用了JVM技术),任何java程序只在这个环境内运行,而与操作系统无关 。jdk是java的开发平台
3,Java的jre是什么JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合 , 包含JVM标准实现及Java核心类库 。jre为JavaRunTimeEnvirment的简称,JavaRuntimeEnvironment(包括JavaPlug-in)是Sun的产品,包括两部分:JavaRuntimeEnvironment和JavaPlug-inJavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台 。它包括Java虚拟机、Java平台核心类和支持文件 。它不包含开发工具--编译器、调试器和其它工具 。JRE需要辅助软件--JavaPlug-in--以便在浏览器中运行applet 。JavaPlug-in软件允许Javaapplet和JavaBeans组件在使用Sun的JavaRuntimeEnvironment(JRE)的浏览器中运行,而不是在使用缺省的Java运行环境的浏览器中运行 。JavaPlug-in可用于NetscapeNavigator和MicrosoftInternetExplorer 。J2RE是Java2 Runtime Environment,即Java运行环境 , 有时简称JRE 。如果你只需要运行Java程序或Applet,下载并安装它即可 。如果你要自行开发 Java软件 , 请下载JDK 。在JDK中附带有JRE 。注意由于Microsoft对Java的支持不完全 , 请不要使用IE自带的虚拟机来运行 Applet,务必安装一个JRE或JDK 。java运行环境java运行时的环境的根目录其实就是跟其他的打包程序一样,像rar,zip就是来打包class文件的JRE(Java Runtime Environment)运行环境,也就是说 , 你开发的任何Java程序,都必须运行在JRE提供的环境里面 。SDK(Software Development Kit)java软件开发工具 。通常指的是JDK 。java runtime envjava运行环境 和 .net framwrok 类似因为java和.net都是伪编译其实是运行时解释运行的,解释的环境就是jre【JAVAjre,Java的jre是什么】
4,jdk和jre有什么区别简单的说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 /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 。5 , JRE与JVMJDK的区别一、 详细介绍1、JVM -- java virtual machine JVM就是我们常说的java虚拟机 , 它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可 以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解 释给本地系统执行 。JVM 是 Java 平台的基础 , 和实际的机器一样,它也有自己的指令集,并且在运行 时操作不同的内存区域 。JVM 通过抽象操作系统和 CPU 结构 , 提供了一种与平台无关的代码执行方法,即与特殊的实现方 法、主机硬件、主机操作系统无关 。但是在一些小的方面,JVM 的实现也是互不相同的,比如垃圾回收 算法,线程调度算法(可能不同 OS 有不同的实现) 。JVM 的主要工作是解释自己的指令集(即字节码)到 CPU 的指令集或 OS 的系统调用,保护用户免被恶意程序骚扰 。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file ) 。类文件的 组成包括 JVM 指令集,符号表以及一些补助信息 。2、JRE -- java runtime environment JRE是指java运行环境 。光有JVM还不能成class的 执行,因为在解释class的时候JVM需要调用解释所需要的类库lib 。在JDK的安装目 录里你可以找到jre目录,里面有两个文件夹bin和lib,在 这里可以认为bin里的就是jvm,lib中则是jvm工 作所需要的类库,而jvm和 lib和起来就称为jre 。所以,在你写完java程序编译成.class之后 , 你可以把这个.class文件 和jre一起打包发给朋友,这样你的朋友就 可以运行你写程序了 。(jre里有运行.class的java.exe) JRE 是 Sun 公司发布的一个更大的系统,它里面就有一个 JVM。JRE 就与具体的 CPU 结构和操作系统有关,我们从 Sun 下载 JRE 的时候就看到了不同的各种版本 。同 JVM 一起组成 JRE 的还有一些 API (如 awt ,swing 等) 。JRE 是运行 Java 程序必不可少的 。JRE ( Java Runtime Environment ),是运行 Java 程序必不可少的(除非用其他一些编译环境编译成.exe可执行文件……),JRE的 地位就象一台PC机一样,我们写好的Win32应用程序需要操作系统帮 我们运行,同样的 , 我们编写的Java程序也必须要JRE才能运行 。JRE里面有一个 JVM,JRE 与具体的 CPU 结构和操作系统有关 , 我们从 Sun 下载 JRE 的时候就看到了不同的各种版本,,同 JVM 一起组成 JRE 的还有 一些 API (如 awt  ,  swing 等), JRE 是 运行 Java 程序必不可少的.3、JDK -- java development kit JDK是java开发工具包 , 基本上每个学java的人都会先在机器 上装一个JDK , 那他都包含哪几部分呢?让我们看一下JDK的安装目录 。在目录下面有 六个文件夹、一个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 喊出的带有标志性的口号“ Write Once  ,  Run Anywhere (一次编写,到处运行)”,正是建立在 JRE 的基础之上 。何以实现?就是在 Java 应用程序和操作系统之间增加了一虚拟层—— JRE。程序源代码不是直 接编译、链接成机器代码,而是先转化到字节码( bytecode ) 这种特殊的中间形式,字节码再转换成机器码或系统调用 。前者是传统的编译方法 , 生成的机器代码就不可避免地跟特殊的操作系统和特殊的机器结构相关 。而 Java 程序的字节码文件可以放到任意装有 JRE 的计算机运行,再由不同 JRE 的将它们转化成相应的机器代码,这就实现了 Java 程序的可移植性 。这样程序员也不用去 关心程序运行的具体环境,而可以专心编写软件 。这种分层抽象、隐藏细节的思想在计算机科学中处处可见,比如机器组织结构的设计、网络协议的实现等 。Pascal 语言的发明者 Niklaus Wirth ,就富有预见性地指出应该有这样一种可移植的语言,其生成的中间代码可以在一台假想的机器( a hypothetical machine )上运行 。而 Java 虚拟机( Java virtual machine 或 JVM )就是这样的一台机器,它模拟实际处理器的结构,解释字节码 。怎么一会说是 JRE  , 一会儿又成了 JVM ,两者是否同物不同名? 回答是否定的 。JRE的地位就象一台PC机一样,我们写好的Win32应用程序需要操作系统帮 我们运行,同样的 , 我们编写的Java程序也必须要JRE才能运行 。要运行Applet,在客户端必须安装有 JRE,即“运行时”,容易一点理解 , 就象所谓的“插件” , 要开发JAVA应用程序\Web应用 , 就必须在服务器端安装相应的 JVM+JDK 了(开发应用 Java web应用 时 , 客户端不需要安装任何的JVM) 如果你使用JAVA开发应用,就需要安装 JRE+JDK,就是 J2SE.如果在客户端运行Applet,客户端浏览器必须嵌有JAVA JVM,如果没有,就需要安装,即: 在客户端创建JRE(运行时,包含JVM) , 而客户端是不需要做开发的,所以,JDK就没有必要安装 了 。不同版本的Applet在不同的JVM下可能无法正常运行,而Microsoft JVM只是Sun JVM的“低版本”,微软在windows xp/2003中干脆将JVM去掉了.

    推荐阅读