ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JDK、JRE、JVM的区别与联系

2019-12-15 21:04:14  阅读:212  来源: 互联网

标签:类库 JRE java lib JDK JVM class


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

  • JVM的工作流程:

  • 1、编写源文件(.java)

  • 2、通过编译器javac。将源文件编译成*.class字节码文件
  • 3、类加载器:先加载启动类库,在加载扩展类库,最后加载用户自定义类库
  • 4、字节码校验器,校验不通过,产生异常
  • 5、解释器:解释为机器代码,跨平台
  • 6、操作系统
  •       JVM 的主要工作是解释自己的指令集(即字节码)到 CPU 的指令集或 OS 的系统调用,保护用户免被恶意程序骚扰。 JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的 组成包括 JVM 指令集,符号表以及一些补助信息。

 

  •       JRE -- java runtime environment      JRE是指java运行环境。光有JVM还不能成class的 执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。 在JDK的安装目 录里你可以找到jre目录,里面有两个文件夹bin和lib,在 这里可以认为bin里的就是jvm,lib中则是jvm工 作所需要的类库,而jvm和 lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件 和jre一起打包发给朋友,这样你的朋友就 可以运行你写程序了。 JRE 是运行 Java 程序必不可少的。

  • 注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行 Applet,务必安装一个JRE或JDK        

 

 

  •        JDK -- java development kit      JDK是java开发工具包,基本上每个学java的人都会先在机器 上装一个JDK,JDK的安装目录。在目录下面有 六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的 是以下四个文件夹:bin、include、lib、 jre。现在我们可以看出这样一个关系,JDK包含JRE,而JRE包 含JVM。      bin:最主要的是编译器(javac.exe)      include:java和JVM交互用的头文件      lib:类库      jre:java运行环境(注意:这里的bin、lib文件夹和jre里的bin、lib是 不同的)总的来说JDK是用于java程序的开发,而jre则 是只能运行class而没有编译的功能。     。

 

  •  

标签:类库,JRE,java,lib,JDK,JVM,class
来源: https://www.cnblogs.com/wanggang1987/p/12030308.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有