已经学习java一年多了,现在开始接触j2ee, 昨天突发奇想,想安装两个jdk(以前安装一个版本没有任何问题)版本号分别为
jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exejdk-6u22-windows-i586安装之后了修改了java_home无论我如何修改
java_version 
显示的结果都是1.6.0_22后来网上查到说修改注册表的JavaSoft./././java_home,改了之后,jdk彻底不能用,也无法卸载(提示:windows install 程序包
有问题,此安装需要的dll不能运行,请与你的 联系)
)!
C:\Windows\System32>java
Error: could not open `D:\JAVA\jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008\lib\i386\jvm.cfg'jvm.dll 文件是个什么东西??jvm.cfg 文件又是个什么东西??classpath有什么用??jdk和jre有何区别,安装jdk一定要安装jre吗? 安装的时候那个公共jre有什么用? 还有那个java DB 有什么用???我现在发现我对jdk毫无理解,还属于菜鸟阶段。希望高手悉心指教,分享一下经验,或者推荐一些书籍或者文章,感激不禁.

解决方案 »

  1.   

    classpath是java编译后的class文件路径
    jre是java运行环境(Java Runtime Environment)
      

  2.   

    classpath配置是用来指明程序需要加载的各种类文件即jar包的位置。
    jdk给我们编写的代码提供了运行环境,而jre是我们的程序运行过程中所需要的系统类(即编写代码过程中import入类中的一些文件)。打个比方,jdk是我们运行代码的工具,而jre告诉jdk如何运行能得到我们需要的结果。
      

  3.   

    其实安装两个是没有任何问题的。
    java home只是指定了你的java路径,和你版本有什么关系呀。
    如果你安装了两个版本的jdk,虽然jdk不同,但是jre只有一个。
    java版本,显示的是当前java update后的最新版本。      
      

  4.   

    jdk是sun提供的一套用于开发java应用程序的开发包,它提供了编译、运行java程序所需的各种工具资源,包括java的编译器、java运行时环境,以及常用的类库。
    jre是java运行时环境,它是运行java程序的必要条件,如果只是运行java程序,就可以只安装jre。
    jre中包含jvm和运行java程序时所需的其它环境支持。
    你说的公共jre会向浏览器和系统注册java运行时环境,那么也就是说系统中任何应用程序都可以使用公共jre。
    1.5版本以上的jdk完全没有必要配置classPath环境变量。
    这些都是我从《疯狂java讲义》中看到的,自己也试了一下,你可以去看看,在第一章介绍了这些。
      

  5.   

    装多个当然没问题,只要不同路径。jdk比jre多了编译等一些工具javac什么的。
      

  6.   

    我的java学习也是从疯狂java讲义开始的。
    参考文章http://www.javaeye.com/topic/4387 说实话,这两篇文章我也没看太懂,我只删除了
    c:/windows/system32/java.exe , javaw.exe , javaws.exe 三个可执行文件,而且注册表项
    JavaSoft被我删除了,java编译工具一样可以运行,看来要学习还有很多呀!感谢各位的回帖!
    感觉自己又拨开了jvm启动的一层面纱!两个版本运行没任何问题,只需修改java_home路径即可