我下载了JAVA 2 SE Platform 安装后发现在安装目录里有2个不同版本的JRE和一个JDK,JRE众所周知就是虚拟机及虚拟机运行时环境,而JDK也有一个JRE包,包里面有client和server两个版本的JVM。我的问题来了:
1、为什么JDK包外面有两个JRE,JDK包里面也有JRE?(我的理解是,JDK包外面的JRE是系统真实用的JRE,但是考虑到游戏人没有下载platform,而是只下载了JDK,那么也要让他们开发的程序能运行,所以JDK里也设置了JRE,用PLATFORM的话JDK包里的JRE就是没用的,用包外面的)。
2、如果我新装的系统,根本没装过任何JRE,然后装了个JAVA写的程序,感觉运行正常啊,按说要装JRE才能运行程序员阿?
3、如果我装了各种版本的JRE,此时我如何选择用哪个版本的JRE运行当前操作系统中的JAVA程序?

解决方案 »

  1.   

    1.不管jdk包里面的,还是抱外面的都能用。包里面的jre是专门做开发测试用的,可能比较好发现程序问题.
      jdk包外面的,是你一般的java程序运行环境,里面还带浏览器applet插件,jar直接运行的exe好像也不一样。
    2。应该是你的操作系统自带了jre。你到windows或program files目录上找找。
    3. 在Windows上安装各种版本jre的时候,系统会在注册表上保留最新的jre运行路径。你可以建立环境变量,来让系统选择哪个版本
      

  2.   

    2、这么说一般来说windows系统都自带JRE了?那么安装platform后,写出的程序是运行在WINDOWS目录下的JRE还是在platform目录下的JRE?既然WINDOWS下都默认有JRE,那PLATFORM下的JRE不就是多余的么?
    3、第三个问题具体怎么做?比如说我在开发的时候选择了一个特殊的JRE,那么在真实运行这个系统的服务器上就要安装这个JRE,假定是WINDOWS,怎么做才能让程序不运行在在原来的JRE上,而换成我选择的特性JRE?
      

  3.   

    另外都说JAVA跨平台,一次编译处处运行,也不是那么方便啊,一次编译处处运行的前提貌似是不同平台要有相同版本的JRE,倘若用了特殊的JRE,还要找该平台的该JRE安装包按上,再把系统默认JRE路径指向它才可以。
    另外,我感觉JVM是C写的,因为windows下JVM是JVM.dll,JAVA写不了.dll吧,所以JVM本身不是跨平台的
      

  4.   

    2.Windowss一般都不自带jre,一般盗版的ghost的windows就有jre.
    有一个问题要清楚,Jre不带compiler,在Jre运行javac肯定说没这命令。
    3.你重新安装jre,就会覆盖以前的。或者手动配置环境变量(这个刚学java书上都有介绍的)
      

  5.   

    我说一下我的理解
    1 如果你安装了JDK, 那么可以不安装JRE,JDk里面的都有,JRE只是JDK的一个子集
    2 如果你只是给用户安装,则只需要安装JRE,不需要JDK,文件少一点。而且JRE是要修改注册表的。用于和IE等绑定。JDK不绑定
      

  6.   

    说对了。做开发用jdk,仅运行java程序jre就行。
    一般的软件都提供向下兼容。jdk5.0后不提共向上兼容了,因为产生字节码有有很大改变,好像可以编译的时候,添加一些条件,与jre1.4,1.3兼容。具体兼容性可查看sun的白皮书
    不同的操作系统,jvm(或jre)的实现完全不同的,要安装特定平台的。
      

  7.   

    1,楼上的各位回答得都很详细了。JRE只是一个运行环境,而JDK是个开发环境,既然是开发环境那就能开发和运行啰,所以JDK中也包括了JRE,两个JRE几乎是一样的。2,新装的系统中的只装JDK就可以运行了,因为其中包括了JRE,而且是默认的,一般不需要特别地在classpath中指明,只需要设一下java_home环境变量就可以了。3,如果在一个系统内装了多了JRE,你只需要使用版本最高的那个JRE就可以运行程序了,都是向下兼容的。如果你装的是多个版本的JDK,那实际上是没有必要的,只要保留一个最高版本的就可以了,在编译时指定javac中的编译级别就可以了,采用 -source 和 -target 参数,这样在高版本JDK中编译的程序,在低版本中也能运行。
      

  8.   

    第三个问题还是没说清楚,我怎么保证现在系统在用最高版本的JRE呢?我在那里能查看配置JRE?我怎么使用最高把版本的JRE? 操作步骤是?
      

  9.   

    开始--》运行--》input "cmd", appare MS-DOS
    -->input "java -version"; then list the the vesion of current JRE.
    Config the System Environment Variant.if you dont kown how, Search by google or baidu.
      

  10.   

    试试system32里放java.exe(the version you need)