zoukankan      html  css  js  c++  java
  • 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高级特性与最佳实践.周志】
    **菜鸟上路,请多指教,说多不对的,请指出**

     

  • 相关阅读:
    Java实现 蓝桥杯 算法训练 画图(暴力)
    Java实现 蓝桥杯 算法训练 画图(暴力)
    Java实现 蓝桥杯 算法训练 相邻数对(暴力)
    Java实现 蓝桥杯 算法训练 相邻数对(暴力)
    Java实现 蓝桥杯 算法训练 相邻数对(暴力)
    Java实现 蓝桥杯 算法训练 Cowboys
    Java实现 蓝桥杯 算法训练 Cowboys
    55. Jump Game
    54. Spiral Matrix
    50. Pow(x, n)
  • 原文地址:https://www.cnblogs.com/coisini/p/9680637.html
Copyright © 2011-2022 走看看