Java解释器的运行过程介绍

 更新时间:2019年04月11日 09:30:40   作者:yangyongUestc  
今天小编就为大家分享一篇关于Java解释器的运行过程介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

首先介绍一下Java解释器的概念,Java解释器:解释器是Java虚拟机非常重要的一部分,它的工作就是把字节码转化为机器码并在特定的平台进行运行。简单一点,java的解释器只是一个基于虚拟机JVM平台的程序 ,即jdk或jre目录下bin目录中的java.exe文件。 Java解释器相当于运行Java字节码的“CPU”,但该“CPU”不是通过硬件实现的,而是用软件实现的。

  • 步骤1:可以通过操作系统设置,也可不用设置,一般编译环境会为你设置,其中CLASSPATH包含一个或多个目录,用来查找.class文件的根目录。
  • 步骤2:需要从根目录进行查询,解释器获取包的名称,将点号替换为反斜杠,具体哪种反斜杠视操作系统而定。
  • 步骤3:将得到的路径与CLASSPATH中的各个不同的项相连接,解释器就在这些目录中查找与你创建的类名称相关的.class文件。

举例:假设根据java环境设置,CLASSPATH变量为下面几种:

  • C:\Program Files\Java\jre1.8.0_102\lib; 
  • C:\Program Files\Java\jre1.8.0_102\lib\tools.jar;
  • E:\JAVA学习\JavaProject\JavaStudy\bin

然后从这些目录中查找.class文件,比如说要找MyClass.class,此时,先获取包名net.mindview.util,将该包名替换成net\mindview\util,再将替换后的包名与CLASSPATH中的路径连接,形成一些查找路径,如下:

路径1:C:\Program Files\Java\jre1.8.0_102\lib\net\mindview\util

路径2:C:\Program Files\Java\jre1.8.0_102\lib\tools.jar\net\mindview\util

路径3:E:\JAVA学习\JavaProject\JavaStudy\bin\net\mindview\util

前两条路径不存在,第三条路径存在,成功找到MyClass.class,至此,解释器查找成功。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • mybatis plus实现条件查询

    mybatis plus实现条件查询

    这篇文章主要为大家介绍了mybatis plus实现条件查询,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 基于Java SSM框架开发图书借阅系统源代码

    基于Java SSM框架开发图书借阅系统源代码

    本文给大家介绍了基于Java SSM框架开发图书借阅系统,开发环境基于idea2020+mysql数据库,前端框架使用bootstrap4框架,完美了实现图书借阅系统,喜欢的朋友快来体验吧
    2021-05-05
  • IDEA插件FindBugs的使用详解

    IDEA插件FindBugs的使用详解

    这篇文章主要介绍了IDEA插件FindBugs的使用详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Spring Boot中使用Spring Retry重试框架的操作方法

    Spring Boot中使用Spring Retry重试框架的操作方法

    这篇文章主要介绍了Spring Retry 在SpringBoot 中的应用,介绍了RetryTemplate配置的时候,需要设置的重试策略和退避策略,需要的朋友可以参考下
    2022-04-04
  • Java中如何用Stream分组并求各组数量

    Java中如何用Stream分组并求各组数量

    这篇文章主要给大家介绍了关于Java中如何用Stream分组并求各组数量的相关资料,文中通过实例代码,对大家学习或者Java具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • 解析Java中的Timer和TimerTask在Android中的用法和实例

    解析Java中的Timer和TimerTask在Android中的用法和实例

    本篇文章主要介绍了解析Java中的Timer和TimerTask在Android中的用法,主要介绍了Timer和TimerTask的用法,有需要的可以了解一下。
    2016-11-11
  • Nacos 动态服务发现、配置和服务管理平台初体验

    Nacos 动态服务发现、配置和服务管理平台初体验

    这篇文章主要介绍了Nacos 动态服务发现、配置和服务管理平台初体验的相关资料,需要的朋友可以参考下
    2022-09-09
  • 关于Spring总结(必看篇)

    关于Spring总结(必看篇)

    下面小编就为大家带来一篇关于Spring总结(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • MyBatis实现插入大量数据方法详解

    MyBatis实现插入大量数据方法详解

    最近在公司项目开发中遇到批量数据插入或者更新,下面这篇文章主要给大家介绍了关于MyBatis实现批量插入的相关资料,需要的朋友可以参考下
    2022-11-11
  • springboot整合mybatis-plus 实现分页查询功能

    springboot整合mybatis-plus 实现分页查询功能

    这篇文章主要介绍了springboot整合mybatis-plus 实现分页查询功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09

最新评论