#####JDK: java development kit, java开发工具包,针对开发者,里面主要包含了jre, jvm, jdk源码包,以及bin文件夹下用于开发,编译运行的一些指令器。

#####JRE: java runtime environment, java运行时环境,针对java用户,也就是拥有可运行的.class文件包(jar或者war)的用户。里面主要包含了jvm和java运行时基本类库(rt.jar)。rt.jar可以简单粗暴地理解为:它就是java源码编译成的jar包(解压出来看一下),用eclipse开发时,当你ctrl点击发现不能跳转到源文件时,需要把rt.jar对应的源码包加进来,而这里的源码包正是jdk文件夹下的src.zip。

######JVM:   就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。

  也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。

  只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。

  JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

####JDK和JRE区别: 去bin文件夹下你会发现,JDK有javac.exe而JRE里面没有,众所周知javac指令是用来将java文件编译成class文件的,这是你开发去做的事,用户是不会去做的。JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。

####JRE和JVM区别: 有些人觉得,JVM就可以执行class了,其实不然,JVM执行.class还需要JRE下的lib类库的支持,尤其是rt.jar。

JDK, JRE和JVM的区别与联系相关推荐

  1. JDK, JRE 和JVM的区别

    2019独角兽企业重金招聘Python工程师标准>>> Java 开发工具包 (JDK) Java开发工具包是Java环境的核心组件,并提供编译.调试和运行一个Java程序所需的所有 ...

  2. jdk,jre,jvm的区别以及联系

    作为一个 java开发工程师,我做面试题的时候,竟然都答错了jdk,jre,jvm的区别和联系了,真实太菜了.不过吃一堑长一智,多多吸取教训还是比较好的. JVM:java虚拟机,用来编译和运行jav ...

  3. 一、JDK、JRE、JVM的区别

    JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE.Java工具和Java基础类库.Java Runtime Enviro ...

  4. JDK,JRE和JVM三者的关系以及java的运行机制,环境变量,三大版本,特点

    JDK,JRE和JVM 1.JVM Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台. 所谓跨平台性, ...

  5. 888道Java高级面试题,JDK、JRE与JVM的区别与联系

    前言 我在知乎上看到这样一个话题,关于程序员的: 听同学说干码农这行每天都要加班,这样的话,不就没精力做别的事情了.有个师兄做 IT 销售,不太辛苦,生活还算是美滋滋,是真的吗?我也知道社会上干哪一行 ...

  6. Java中JDK,JRE和JVM之间的关系

    初学JAVA很容易被其中的很多概念弄的傻傻分不清楚,首先从概念上理解一下吧,JDK(Java Development Kit)简单理解就是Java开发工具包,JRE(Java Runtime Envi ...

  7. Java基础:JDK、JRE、JVM的区别与联系

    1. 详细介绍 1.1 JVM – java virtual machine JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.clas ...

  8. 3.JDK和JRE和JVM的区别

    JDK --Java Development Kit --java 开发工具包 JRE --Java Runtime Environment --java运行时环境 JVM --Java Virtua ...

  9. JDK、JRE、JVM的区别与联系

    详细介绍 1.1 JVM - java virtual machine JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类 ...

最新文章

  1. 安装vs 2015 x新建项目 显示(未将对象引用设置到对象实例) 处理方法
  2. 什么是SAP Commerce Cloud OCC
  3. 看了就会的VScode给C++的配置编译环境(Visual Studio Code)
  4. 关于Java泛型和擦除
  5. 小编带着小白看springboot源码2
  6. intel simd 资料
  7. 使用 Anthem.NET 的常见回调(Callback)处理方式小结
  8. 14.卷1(套接字联网API)---高级IO函数
  9. N的阶乘的长度 V2(斯特林近似)
  10. go 语言markdown 转 html,Golang中国的markdown转HTML怎么实现
  11. vue.js动态组件:is特性
  12. Note Of Effective C++ 、More Effective C++ And Effective Modern C++
  13. 社科院与杜兰大学金融管理硕士——在自己的领域努力拼搏,终将遇到专属的光芒
  14. OpenCV+Python车牌字符分割和识别入门 (含新能源车牌识别)
  15. 电脑:键盘快捷键的更改(主要以dell笔记本电脑为模拟对象)
  16. 科技新品 | 富士胶片研发出全球最大容量数据流磁带;iGame发布内存新品“古德白”...
  17. MATLAB颜色识别
  18. ffmpeg rtmp推流
  19. Keras教程:使用Keras开始深度学习和Python(上)
  20. 前端例程20210802:玻璃拟物化风格(Glassmorphism)设计与实现

热门文章

  1. 资源 | 一文掌握机器学习所有值得看的视频、课程、工具
  2. 为什么SpringBoot的 jar 可以直接运行?
  3. 谷歌发布最新看图说话模型,可实现零样本学习,多类型任务也能直接上手
  4. 细节详解 | Bert,GPT,RNN及LSTM模型
  5. 业界首个面向NLP场景深度迁移学习框架
  6. ECCV 2020最佳论文讲了啥?作者为ImageNet一作、李飞飞高徒邓嘉
  7. 机器学习Tips:关于Scikit-Learn的 10 个小秘密
  8. 6位图灵奖获得者、10多位院士在线“教学”,这套关于“人工智能下一个十年”的课程免费提供给你...
  9. 卷积有多少种?一文读懂深度学习中的各种卷积
  10. 送书!送书!送书!阿广包邮送15本技术书籍!