程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

Java复习面试指南02-JDK和JRE的区别?程序从源代码到运行经历哪几步?

发布于2021-04-18 13:47     阅读(766)     评论(0)     点赞(8)     收藏(0)


Java虚拟机(Java Virtual Machine)

Java虚拟机(Java Virtual Machine)它是运行所有Java程序的虚拟计算机,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行.Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以 Java 程序运行时比较高效,而且,由于字节码并不专对一种特定的机器,因此,Java 程序无须重新编译便可在多种不同的计算机上运行。

Java运行环境(Java Runtime Environment)

JRE是Java Runtime Environment(java运行环境),光有JVM还不能让class文件执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,JRE录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和lib和起来就称为jre

Java开发工具包(Java Development Kit)

JDK是java development kit(Java开发工具包),程序员做Java开发时所需要的一些工具Javac.exe/jar.exe Java基础的类库/API

关系:

JDK包含JRE,而JRE包含JVM

JDK和JRE的区别?程序从源代码到运行经历哪几步?

 

Java编译过程

程序员编写好的Java源文件以.java结尾,这些源文件是我们程序员自己编写的,是给程序员看的,所以还要经过javac工具编译后,编译成让JVM能够识别的字节码.编译之后的文件变成了.class结尾的字节码文件,编译好的字节码.class的文件,还要主动调用java.exe程序,让JVM执行编译好的字码,最终我们才能看到执行之后的结果! 下图为执行过程:

 

JDK和JRE的区别?程序从源代码到运行经历哪几步?

Java编译执行过程

在执行字节码文件时,JVM类加载器首先加载字节码文件,然后通过解释器逐行解释执行,这种方式的执行速度会相对 比较慢。有些方法和代码块是经常需要被调用的,也就是所谓的热点代码.后面引进了 JIT 编译器,JIT 属于运行时编译。当 JIT 编译器完成第一次编译后,其会将字节码对应的机器码保存下来,下次可以直接使用。机器码的运行效率肯定是高于 Java 解释器的,这也解释了我们为什么经常会说 Java 是编译与解释共存的语言。

点击查看配套视频讲解



所属网站分类: 技术文章 > 博客

作者:gogogo

链接:http://www.javaheidong.com/blog/article/159840/7edb908109a8d1d80c05/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

8 0
收藏该文
已收藏

评论内容:(最多支持255个字符)