一台机器可以装多个jdk吗
解决方案 »
- 在swt中,怎样实现两个browser通信?
- 将数据库中的信息作出java GUI图形界面!
- jsp中查询输入简体,而数据库中是繁体,我怎么进行查询呢?
- Java中类对象的共享问题
- 关于.NET和C#的优劣
- 出错Java2D Direct3D usage disabled by J2D_D3D env怎么解决
- 如何使JToolBar不停靠父容器的下方?
- 我是刚开始学JAVA,用的是NETBEANS3.5.1?想请教!
- toString()的重载问题?
- 基于西北角法的运输问题求最优解的设计与实现
- 请教 如何用java获取CPU使用率 我用的操作系统是windows xp
- java打包问题,打成的包怎样双击才能运行
java -version:1.6 HelloWorld[/code]
4楼说的不太对。-target参数是指定编译出的中间码是什么版本格式。与多个jdk无关。比如jdk1.6可以编译出1.4或者1.5版本的中间码来。
还有个问题,就是以前装别的软件的时候不是有时要指定JDK的吗,那我把以前装的jdk卸载了,装1.6,那之前装的那些软件会有问题吗
胡扯,你拿 1.6 编译出来的(特别是用到了新增 API 或范型的应用)到 1.4 下跑跑试试。
在安装 JRE 或 JDK 时,安装程序会将 java.exe,javacpl.cpl(提供控制面板中那个图标对应的 Java 运行环境设置功能),javaw.exe,javaws.exe 这四个文件复制到 X:\WINDOWS\system32 文件夹下,如果按照从老版本到新版本的顺序安装,就可以保证是新版本的 java.exe 覆盖老版本的此文件,而最新版的 java.exe 提供了以此前老版本相兼容的模式启动 JVM 的功能,这才是 java -version:1.6 HelloWorld 的真正含义,而在 path 环境变量里有 %SystemRoot%\system32 这项,所以即使不把 java.exe 的路径追加(加到已有的末尾)到 path 环境变量里也能正常启动 Java 程序。如果加了,也是在前面 %SystemRoot%\system32 里的 java.exe 首先被找到拿它来启动 JVM 的。-target 确实如 7 楼所说,是以相应的版本生成与之相兼容的字节码,但别忘了,JRE 类库并不是向前兼容的,1.6 里新增的类和方法老版本 JRE 类库中是没有的,除非不使用任何新增特性,否则在老版本 JRE 里运行没戏。另外网上经常说 1.5 新增的范型用法并没有改变 JVM 的实现,而只是用了些“语法糖”,但实际上 JVM 层面的更改是有的(非常小),如果不使用高级范型用法没问题,但一旦用到了也基本会把老版本 JVM 搞傻,使用的时候得加倍小心。
一台机器可以装多个jdk。但是path环境变量里面只能对应其中的一个。如果要使用其它的jdk,需要改变path变量或者用绝对路径指定javac和java命令。
4楼说的不太对。-target参数是指定编译出的中间码是什么版本格式。与多个jdk无关。比如jdk1.6可以编译出1.4或者1.5版本的中间码来。 虽然我没试过,但是应该可以的.增加了泛型应用但是以前的语法在1.5中是没错.1.6没试过不知道.觉得应该也是可以的.
如果在1.6下编译回说错误。好在Eclipse有选择的JDK的地方,只要选对啦就好用,完全没有问题。
而且,大家可能在装orcle的时候装的是1.3的jdk,但是如果把环境变量配好,就没有问题