在上一节中,我们了解了JVM相关的知识,有兴趣的话可以先去看一下:

    Java学习 1.1——(JVM介绍)Java为什么能够跨平台?

    这个篇主要分享的是JRE,JDK,JVM三者的区别,简言之:

    JDK包含JRE,JRE包含JVM。

    那么为什么要这样包含,或者说这样的包含关系是怎样建立的呢?这就需要知道这三者分别都代表了什么。

    JVM在之前我们就了解了,是Java虚拟机,为的是跟各个操作系统进行交互,实现Java的跨平台。但是仅仅只靠JVM一个虚拟机是无法运行Java文件的。Java文件在运行时,首先会被编译成.class文件,这类文件的运行需要JVM和lib类库共同配合,这就是JRE了,它是Java运行环境,仅仅需要运行Java文件的话,有JRE就够用了。如果要进行开发的话,还需要一些Java工具(javac/java/jdb),这些加起来就是JDK了,解释为Java开发环境。说的比较笼统,上张图:

最新文章

  1. js 数组
  2. C++多线程调试和测试的注意事项
  3. HDU 5000 Clone(离散数学+DP)(2014 ACM/ICPC Asia Regional Anshan Online)
  4. 常用的phpstorm设置
  5. JavaScript NodeList和Array
  6. 【IOS】在SDK中打开其他接入应用的解决方案
  7. STL 二分查找三兄弟(lower_bound(),upper_bound(),binary_search())
  8. didReceiveMemoryWarning-内存警告处理方法-iOS
  9. 浅析TCP/IP 协议
  10. Java中public,protected,default,private的访问权限问题(简明扼要)
  11. Codeforces 376A. Night at the Museum
  12. vue引入新版 vue-awesome-swiper填坑
  13. C++开发中BYTE类型数组转为对应的字符串
  14. Spring Boot与分布式
  15. [模板] 无旋Treap (C++ class)
  16. 当Django中Debug=False,静态文件处理方式。
  17. sosreport-汇总收集linux系统信息
  18. 下载使用前端开发工具sublime,并汉化
  19. Linux系统IO分析工具之iotop常用参数介绍
  20. Mysql相关技术细节整理

热门文章

  1. JVM系列二(垃圾收集算法).
  2. Vue学习笔记:提升开发效率和体验的常用工具
  3. JS---BOM基本知识 (顶级对象,系统对话框,加载事件,location对象, history对象, navigator对象)
  4. MySQL数据篇 (一)存储过程实现简单的数据修改及事务的使用
  5. Sublime Merge真正的Git客户端
  6. Linux修改History历史命令数量
  7. 中移动物联手机端APP软件
  8. C#中的时间戳
  9. Git实战指南----跟着haibiscuit学Git(第六篇)
  10. Hello universe!