JDK与JRE的关系和path的作用浅谈

  • 摘要:JDK与JRE的关系以及path的配置对于初学者是要明白的问题,那么具体的JDK与JRE的关系是什么呢?那么本文讲给你简单介绍。
  • 标签:JDK与JRE关系  path
  • 对于JDK与JRE的关系以及path的配置问题首先我们来看下一些概念:

JDK(Java develop kit ,Java开发套件),JRE(Java runtime environment,Java运行时环境),JVM(Java virtual machine,Java虚拟机)

  1. JDK
  2. ++
  3. |-----JRE
  4. ++
  5. |-------JVM
  6. |-------

JDK与JRE的关系以及path的配置中,JRE只是JDK的一个部分,我们只要拥有了一份JDK就可以进行Java程序开发了,而顾名思义,JRE是Java运行的时候所依赖的平台,JVM则更只是JRE的一个部分,JRE除了虚拟机外还提供了众多链接库,这些库会被JVM在运行时调用。

我们会发现java_home/下有一个bin文件夹和一个JRE文件夹,而JRE文件夹下也有一个bin文件夹,它们一样吗?显然不一样。

java_home/bin中的工具是sun公司提供给我们一些工具,如java.exe,javac.exe,而jre/bin下的工具是运行时所需的,于是我们可以发现java_home/bin下有一个javac.exe,而jre/bin下肯定没有javac.exe,这是很容易解释的。

奇怪的是,Sun公司给我们提供了两套JRE,稍留意一下我们就会发现在装完JDK,还可以选择装一个JRE,这个JRE是被默认装到C:/Program Files/Java下的。sun提供两套JRE是有道理的,如果我们只是想运行Java程序,那么去官网下一个JRE就行了,而无需拿来一个JDK,如果是要开发Java程序那就需要一个JDK了."JDK里面的工具几乎都是用Java写的,所以JDK本身就是Java应用程序,因此要使用JDK附的工具来开发Java程序也必须要自行附一套JRE才行,这就是java_home/jre存在的原因,而位于Program File/jre的那套JRE就是拿来执行我们自己写的Java应用程序的。不过,两套中任何一套JRE都可以拿来执行我们所写的Java应用程序,可是JDK内附的开发工具在预设开发工具使用包装器(.exe)来启动的情况下,都拿自己支选用java_home/jre".(《Java深度历险》)

因此,现在可以明白设path和classpath的作用了:path是为JDK提供的那些工具设的,如java.exe,javac.exe,而classpath是为Java程序所用到的库文件所设的,于是path设成:java_home/bin;而classpath设为:java_home/jre/lib/rt.jar,如果我们开发的一个应用中用到了非j2se提供的库文件,则需将这些文件加到classpath中,比如说利用javamail开发一个邮件应用,就应该把mail.jar
等文件加到classpath中:java_home/jre/lib/ext/mail.jar;.

如果一台PC上装了几个JRE,那么就要注意了,有时很容易产生问题,很可能我们用来编译Java程序的javac.exe所相关的JRE与运行程序时所用的JRE不是一个版本, 这可能会产生版本冲突,这可以通过设定path变量来解决。

最后应用中的第三方文件应该加到java_home/jre/lib/ext下,就像刚才那样,与Java相关的安全设定档都放置java_home/jre/lib/security。最后扩展一点,与Java相关的很多工具的path设定原则都与上述差不多,比如说想安装一个Ant,应该在path 中这样设:

  1. F://Ant/apache-ant-1.6.5/bin;

看看bin下有什么就明白这样做是为了指定命令工具ant所在的目录。

JDK与JRE的关系以及path的配置那么就先介绍到这里,那么这些相关的学习在其他文章中还会渗透。

【编辑推荐】

  1. JDK的概念、组成及JDK常用包
  2. JDK1.4在Windows下的环境配置
  3. JDK1.6在LINUX下的安装配置
  4. JDK1.5中新的语言特征浅析
  5. 在JDK7 b50中将实现正则表达式命名捕获组

JDK与JRE的关系和path的作用浅谈相关推荐

  1. 两分钟搞懂 JDK 与 JRE 的关系!

    作者:MobMsg,资深全端工程师一枚,架构师社区合伙人! JDK 与 JRE 的关系用一张图就可以诠释的非常清楚,把这张图深深记进脑子里,目标就达成50%了 若您有遇到其它相关问题,非常欢迎在评论中 ...

  2. Jdk 和 jre 的 关系和区别

    Jdk 和 jre 的 关系和区别 区别: JDK:是Java Development Kit 的简称–>翻译过来就是:Java 开发工具包.是程序员使用java语言编写java程序所需的开发工 ...

  3. JAVA基础-jdk和jre的关系和区别

    JAVA基础-jdk和jre的关系和区别 1.名词介绍 JDK(Java Development Kit)是Java开发工具包,里面包含Java的开发环境(提供了编译器javac等工具,用于将java ...

  4. Java 技术体系(JDK 与 JRE 的关系)、POJO 与 JavaBeans

    Java 技术体系的分层结构(不同的颜色表示不同的层次),尤其注意 JDK 与 JRE 之间的包含关系: 图见 Java Platform Standard Edition 7 Documentati ...

  5. jdk和jre(jdk和jre的关系)

    jdk jre 分别指的是什么东西啊? java软件包中主要有两部分:jdk,jre. 前者就是开发java程序是所用的JDK, jre是java runtime envirment的简称,包括jav ...

  6. 默然学java(一)JAVA背景 JDK和JRE的关系

    java JDK是啥? JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK). SE(JavaSE),standard edition,标准版,是我们通常用 ...

  7. JVM,Jdk和Jre的关系

    JRE中包含了JVM和Java的标准类库,比如我们常用的Java lang包下面的类就是放在标准类库中 JDK包含了JRE和一些开发工具集,比如我们常用的java,javac等命令 我们安装JDk的时 ...

  8. JDK,JRE,JVM及设置PATH

    JDK 就是java的开发工具集,顾名思义就是做开发的 其中包括 javac,也就是 java compiler 等. JRE 就是java程序的运行环境 所写的java程序在经过jdk编译后会形成 ...

  9. Eclipse中JDK与JRE区别

    目录(?)[-] JDK与jRE的区别 eclipse中的JDK与JRE JDK与jRE的区别 JDK(Java development kit):Java 开发工具,包括一系列java命令,如jav ...

最新文章

  1. bzoj2560串珠子 状压dp+容斥(?)
  2. 拉取ftp服务器上的文件_winscp和云服务器,2步实现winscp将文件上传到腾讯云Linux云服务器...
  3. html插入图片和文字,HTML第三课文字图片插入
  4. vector 不初始化时什么状态_练车时,教练为什么不给你开空调?
  5. Linux 环境下安装 GitLab 与配置
  6. vim - 自动补齐
  7. 计算机二级电子表格开根号函数,教你如何用函数方式在excel中开根号
  8. Schema hasn't been registered for model 解决方案
  9. 经典书籍《宽客人生》阅读心得
  10. 一个软件系统的兼容性测试,在兼容性测试中,如何判断软件的兼容性?
  11. asp.net mvc 网站生成二维码
  12. 文件隐藏服务器版本信息,隐藏Tengine的版本信息
  13. 图像数据标准化与归一化
  14. eclipse 启动 tomcat htt://localhost:8080 不能访问
  15. 计算机监控系统应用前景和发展趋势,计算机控制技术的现状及发展趋势
  16. python爬取地图地址_网络爬虫-python爬取高德地图地点
  17. 数据挖掘-客户倾向分析
  18. IT安全交给MSP,企业能当“甩手掌柜”吗?
  19. 汇川AM402和串口调试助手自由协议通信
  20. BillGates Botnet

热门文章

  1. 南京邮电考研计算机科学大纲,2019年南京邮电大学811数据结构考研大纲
  2. Docker网络——实现容器间通信、容器与外网通信以及容器的跨主机访问
  3. Mysql进阶(1)——异步复制(主从复制、Gtid复制)、半同步复制
  4. python hist函数_Python主要数据探索函数
  5. nbu oracle 冷备_NBU备份系统应用操作手册..doc
  6. 兴趣点推荐代码_推荐系统模型阿里用户兴趣模型(附完整代码)
  7. python 车牌识别简单_智能车牌识别 停车如此简单
  8. 夏日php登录系统源码,夏日PHP企业管理系统 v0.1
  9. 架构之美(china-pub全国独家首发)
  10. Android tabLayout+recyclerView实现锚点定位