zoukankan      html  css  js  c++  java
  • jvm 漫谈 笔记

    1.Jvm到底是什么呢?

    Jvm其实就是模拟一台计算机,每种cpu都有自己的指令集,jvm自己设置一套指令集,这就是我满看的的字节码,然后jvm需要执行这些字节码,其实这些字节码最终直接对应到cpu的指令集,或者首先对应一段c++代码,然后c++代码再转化成指令集合。

    2.

    public class EvalOrderDemo {

        public static void main(String[] args) {

            int[] arr = new int[1];

            int a = 1;

            int b = 2;

            arr[0] = a + b;

        }

    }

    Arr[0]=a+b;的字节码如下

    // 左子树:数组下标

    // a[0]

    aload_1   //将第一个局部变量值入操作数栈,此值指的是数组的引用,可参考jvm规范

    iconst_0   //把操作数0入操作数栈

    // 右子树:加法

    // a

    iload_2    //把第二个局部变量a的值入1栈

    // b

    iload_3 //把第三个变量b的值2入栈

    // +

    iadd  //还行加操作后,结果存在栈中

    // 根节点:赋值

    iastore  //     将栈顶int型数值存入指定数组的指定索引位置

  • 相关阅读:
    【2020-11-16】就是自己的松散意识在作怪
    JQuery 事件
    JQuery DOM 有关代码练习
    JQuery中的DOM操作
    主题简介 ASP .NET
    JQuery 选择器 *很重要 多记
    JQuery 基础
    Ajax 获取数据代码
    Ajax 介绍
    JavaScript 基础二
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/4268831.html
Copyright © 2011-2022 走看看