IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

jvm:字节码(字节码角度分析a++与–a)

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

1、源码和字节码

(1)源码

public class MyTest {
    public static void main(String[] args){
        int a=10;
        int b=a++ + ++a +a--;
        System.out.println(a);//11
        System.out.println(b);//34
    }
}

(2)字节码

35_1.png

2、过程分析

(1)字节码指令分析

方法区:

35_2.png

第二步:

35_3.png

第三步:

35_4.png

iinc 1,1:将1号槽位的数据自增1

至此,a++执行完毕

第四步:++a

35_5.png

将10和12存入操作数栈是为了做加法运算

第五步:操作数栈中的数据相加,弹出10和12,存入22

35_6.png

第六步:

35_7.png

iadd,iload_1:

将操作数栈中的数据相加

第七步:

35_8.png

第八步:iload_1,iload_2

35_9.png

3、jvm角度分析a++与++a的区别

  • 在学习jvm之前对a++与++a的理解仅仅停留在a++是先输出a的数值在进行自增操作,相反++a是先进行自增操作再返回a的数值
  • 从jvm的角度来看,二者的区别是,a++是先将数据放到操作数栈中,再将数据放到相应的槽位在槽位中进行自增操作,相反,++a是先在槽位中进行自增操作,然后放到操作数栈中

文章永久链接:https://tech.souyunku.com/?p=22546


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(82) 打赏



未经允许不得转载:搜云库技术团队 » jvm:字节码(字节码角度分析a++与–a)

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367