• Java代码编译执行的过程


    Java编译执行

    本文主要总结三点

    1. - Java的编译以及运行过程
    2. - Java的编译执行和解释执行
    3. - Java编译后的执行顺序

    Java的编译和运行过程

    1):首先,我们会有一个.java文件,也就是java源文件,当然源文件是给我们人类来编写和阅读的,但是计算机不识别呀,我们亲爱的计算机它只认识二级制数据呀,所以就需要    编译了
    2):我们的程序通过JVM的编译器编译后,就由好了.java文件编译成计算机可以识别的二进制文件--以.class结尾的二进制文件。
        **注: JVM的编译器在编译一个类时,若发现有依赖类,会先编译依赖类,编译后,注释就被清除掉,没有了哦**
    3):加载、执行
      编译后,先加载后执行,但是加载呢,不是每次都加载所有,只有在用到了,必须加载的时候,才会把他主动加载到内存中
    4):加载以后,就开始执行
    Java的编译执行和解释执行
    1):时编译方式:解释器先将字节码编译成机器码,然后执行该机器码。
    2):解释执行方式:解释器通过每次解释并执行一小段代码来完成java字节码程序所有的操作。
    Java真的是逐行执行吗

    int a = 1;
    int b = 2;
    int c = 3;

    执行上述代码时,不一定逐行执行,因为JVM会自动优化,只要不影响最终结果,执行顺序不一定是代码的顺序

    int a = 1;
    int b = a;
    int c = b + 2;

    上述代码一定是逐行顺序执行的,代码间有相互的影响,

    参考:【深入理解Java虚拟机:JVM高级特性与最佳实践.周志】
    **菜鸟上路,请多指教,说多不对的,请指出**

     

  • 相关阅读:
    平衡二叉树
    二叉搜索树的最近公共祖先
    U-Boot> help, 命令集
    sprintf_s函数用法
    用keil编写的 C51错误 *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL SYMBOL: ?C_START
    GPS时间系统概述和世界时系统
    浅析gcc、arm-linux-gcc和arm-elf-gcc关系
    如何删除电脑中使用过的COM端口
    飞鸽传书 绑定指定网卡
    UE 高亮 一个或多个关键字的方法
  • 原文地址:https://www.cnblogs.com/coisini/p/9680637.html
Copyright © 2020-2023  润新知