一、关于JDK和JRE

JDK (Java Development Kit)即java开发工具,包括JER及代码编译器(javac)、文档注释器(JavaDoc)、代码调试器(Java Debugger)等等工具.

JRE(Java Runtime Environment)即java应用运行环境,包括JVM、类库等.

JVM (Java Virtual Machine)即java虚拟机,负责将字节码(Java byte codes)翻译成对应操作系统平台的机器码(machine code)指令;java语言的操作系统无关性特性就是基于JVM实现的.

二、关于环境变量的配置

1、JAVA_HOME:指定JDK的安装路径,如:D:\Program Files\Java\jdk1.7.0_80

2、CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar,指定编译后的.class文件存放的路径,使用cmd命令窗口时,较为有用,一般可不配置

3、PATH:配置系统默认JDK和JRE路径,在PATH环境变量值后面追加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

三、JDK和JRE的安装

因为JDK包含了JRE,所以安装完JDK后JRE实际上也就安装了(JDK的安装目录中存在JRE目录),但是,我们在安装完JDK后,会又弹出一个安装JRE的窗口,如下

那么我们要不要安装呢?安装与不安装有什么区别呢?答案是可以不安装,这个JRE安装实际上是客户端使用的独立安装版本,它会自动配置JRE的环境变量(查看PATH环境变量,会发现在最开始多了C:\ProgramData\Oracle\Java\javapath;路径配置,打开这个目录,会看到java.exe、javaw.exe、javaws.exe命令文件,同时还会向C:\Windows\System32目录下也拷贝一份,同时还会向注册表写入JRE默认版本信息);不安装的话,我们就需要手动配置JDK和JRE的环境变量。

四、JDK和JRE版本切换

1、如果没有安装独立版本的JRE,则只修改环境变量JAVA_HOME的值为对应的版本路径即可;使用javac -version查看JDK的版本,使用java -version查看JRE的版本。

2、如果安装了独立版本的JRE,JDK版本依然通过JAVA_HOME环境变量进行修改,JRE的版本修改则需要将对应版本的java.exe、javaw.exe、javaws.exe命令文件拷贝到C:\ProgramData\Oracle\Java\javapath和C:\Windows\System32目录下(System32目录下java命令文件也可以不需要,因为javapath下已经存在,根据环境变量中的配置顺序优先使用javapath下的),同时将注册表中的JRE版本信息修改为对应的版本(regedit打开注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment,修改CurrentVersion的值为对应的JRE版本)。

说明:本文总结为个人理解,如有错误,请指正。

最新文章

  1. android 解决ListView点击与滑动事件冲突
  2. jquery-mobile的页面跳转和iscroll之间的兼容解决方法
  3. [问题2014A04] 解答
  4. Windows 窗体设计器中的设计时错误
  5. GoF的23个经典设计模式
  6. php 模拟斗地主发牌简单易懂
  7. 设计模式(三): FACTORY工厂模式 -- 创建型模式
  8. 性能强悍的开源关系数据库PostgreSQL
  9. Python学习笔记 (3) :列表、元组的操作
  10. 如何在sharepoint里通过correlation id查找详细的错误信息
  11. 云计算之路-阿里云上-容器难容:优化自建 docker swarm 集群的部署
  12. Python内置函数(5)——bin
  13. learning makefile 模式规则
  14. video自定义
  15. Linux加密、安全版块、root密码破解
  16. .net core程序中使用微软的依赖注入框架
  17. docker的容器和镜像的差别
  18. hdfs基本操作-python接口
  19. [翻译] JSAnimatedImagesView
  20. 【bzoj2402】陶陶的难题II 分数规划+树链剖分+线段树+STL-vector+凸包+二分

热门文章

  1. iOS开发 - OC - block的详解 - 深入篇
  2. 经典图形的绘制(matlab)
  3. 在navicat上设置定时计划执行存储过程
  4. Java网络编程注意事项1
  5. Android能够获取到唯一的设备ID吗?
  6. Docker简单的使用命令
  7. either you have JavaScript disabled or your browser does not support JavaScript
  8. C++中的模板编程
  9. iis启动 服务无法在此时接受控制信息。 (异常来自 HRESULT:0x80070425)
  10. 【转】解决yum安装软件报Couldn't resolve host 'mirrorlist.centos.org问题