我下载了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、为什么JDK包外面有两个JRE,JDK包里面也有JRE?(我的理解是,JDK包外面的JRE是系统真实用的JRE,但是考虑到游戏人没有下载platform,而是只下载了JDK,那么也要让他们开发的程序能运行,所以JDK里也设置了JRE,用PLATFORM的话JDK包里的JRE就是没用的,用包外面的)。
2、如果我新装的系统,根本没装过任何JRE,然后装了个JAVA写的程序,感觉运行正常啊,按说要装JRE才能运行程序员阿?
3、如果我装了各种版本的JRE,此时我如何选择用哪个版本的JRE运行当前操作系统中的JAVA程序?
jdk包外面的,是你一般的java程序运行环境,里面还带浏览器applet插件,jar直接运行的exe好像也不一样。
2。应该是你的操作系统自带了jre。你到windows或program files目录上找找。
3. 在Windows上安装各种版本jre的时候,系统会在注册表上保留最新的jre运行路径。你可以建立环境变量,来让系统选择哪个版本
3、第三个问题具体怎么做?比如说我在开发的时候选择了一个特殊的JRE,那么在真实运行这个系统的服务器上就要安装这个JRE,假定是WINDOWS,怎么做才能让程序不运行在在原来的JRE上,而换成我选择的特性JRE?
另外,我感觉JVM是C写的,因为windows下JVM是JVM.dll,JAVA写不了.dll吧,所以JVM本身不是跨平台的
有一个问题要清楚,Jre不带compiler,在Jre运行javac肯定说没这命令。
3.你重新安装jre,就会覆盖以前的。或者手动配置环境变量(这个刚学java书上都有介绍的)
1 如果你安装了JDK, 那么可以不安装JRE,JDk里面的都有,JRE只是JDK的一个子集
2 如果你只是给用户安装,则只需要安装JRE,不需要JDK,文件少一点。而且JRE是要修改注册表的。用于和IE等绑定。JDK不绑定
一般的软件都提供向下兼容。jdk5.0后不提共向上兼容了,因为产生字节码有有很大改变,好像可以编译的时候,添加一些条件,与jre1.4,1.3兼容。具体兼容性可查看sun的白皮书
不同的操作系统,jvm(或jre)的实现完全不同的,要安装特定平台的。
-->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.