• Java程序是如何执行的


    守规矩

    我们上次说了,李大明白和小馨逛了公园(链接地址)、看了电影(链接地址)

    看电影后还发生了一件有趣的事情。

    电影结束后,他们本想着各自回家,就在去地铁站的路上,看到了一个核酸检测点。

    于是两个人决定顺便做个核酸。

    就在排队做核酸的时候发生了一件事,有人因为插队打起来了,然后被警察叔叔带走了。

    小馨说:不明白这些插队的人心里怎么想的,别人的时间就不是时间了吗?

    李:人性都是自私的,只是大多数人控制了自己的私欲而已,有些人已经习惯了占便宜,他们觉得世界就应该围着他们转。

    李:前几天还有河南景区插队打架新闻。

    小馨:真不值得。

    李:这让我想起一个Java知识点

    小馨:是吗?什么知识点

    李:Java程序是如何执行的

    Java程序的执行流程基本都是以下流程

    • 先把Java代码编译成字节码也就是把.java类型的文件编译成.class类型的文件。
      这个过程主要是:源码-》词法分析-》语法分析-》语法/抽象语法树-》语义分析-》注解抽象语法树-》字节码生成器-》生成字节码
    • 我们执行的时候,会把cass文件放置到Java虚拟机,
    • Java虚拟机使用类加载器(之前文章有写过),装载class文件
    • 类加载完成后,会进行字节码校验,字节码校验通过后JVM解释器会把字节码翻译成与机器码交给操作系统执行。当然了虚拟机本身也支持JIT动态编译器。

    以下就是简单的执行过程:

    在这里插入图片描述

    李:是的,不好意思,又说技术了

    小馨:没事,排队呢,解个闷。

    送给大家一句淮南子的话:

    矩不正,不可为方;规不正,不可为圆;

  • 相关阅读:
    React中“WebSocket is closed before the connection is established“
    MySQL 存储过程,语法+示例,超详细!!
    学习笔记- PHP回调函数
    基于Java+SSM+MySQL的水果商城系统
    一些常用的 ADB(Android Debug Bridge)命令
    LeGO-LOAM
    【AcWing单源最短路建图】1126. 最小花费
    常见的python与爬虫面试题准备好了
    HDFS的启动流程和HA
    Java精进-20分钟学会mybatis使用
  • 原文地址:https://blog.csdn.net/qq_36291682/article/details/127592870