当前位置: 首页 > news >正文

JVM学习-彻底搞懂Java自增++

从字节码角度分析i++和++i的区别

 public void method6() {int i =10;i++;     //在局部变量表上直接加1}

在这里插入图片描述

public void method7() {int i =10;++i;         //字节码同i++}

在这里插入图片描述

public void method8() {int i = 10;int a = i++;   //通过下图可以看出先将局部变量表中的值push到操作数栈,然后局部变量表索引1的位置加1,a = 10int j = 20;int b = ++j;  //通过下图可以看出先局部变量表索引3的位置加1,然后将局部变量表中索引3的值push到操作数栈,b = 11}

在这里插入图片描述

  @Testpublic void method9() {int i = 10;i = i++;             //先将局部变量表1的位置的值10,push到操作数栈,然后局部变量表1的值加1,然后istore_1又将操作数栈10的值写回局部变量表1的位置System.out.println(i);   //最终i的值为10}

在这里插入图片描述

相关文章:

  • 2024年上半年软件设计师试题及答案(回忆版)--选择题
  • 多模态MLLM都是怎么实现的(9)-时序LLM是怎么个事儿?
  • C语言:创建简单的流媒体服务器来播放.flv文件
  • 怎么排查问题
  • 数据集005:螺丝螺母目标检测数据集(含数据集下载链接)
  • GDAL读取波段数据1
  • 怎么看智慧城市的发展?
  • springboot实现多开发环境匹配置
  • react中的useEffect()的使用
  • php 设置时区
  • 这款网站测试工具,炫酷且强大!【送源码】
  • redis 主从复制薪火相传 哨兵sentinel配置以及底层原理
  • MyBatis中常见标签的使用(动态SQL)
  • Java GC问题排查的一些个人总结和问题复盘
  • 【C++题解】1133. 字符串的反码
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • Django 博客开发教程 8 - 博客文章详情页
  • JAVA 学习IO流
  • Linux各目录及每个目录的详细介绍
  • MySQL用户中的%到底包不包括localhost?
  • node和express搭建代理服务器(源码)
  • php中curl和soap方式请求服务超时问题
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • Vue2 SSR 的优化之旅
  • webpack入门学习手记(二)
  • 如何实现 font-size 的响应式
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 智能合约开发环境搭建及Hello World合约
  • 【云吞铺子】性能抖动剖析(二)
  • ‌JavaScript 数据类型转换
  • #QT(TCP网络编程-服务端)
  • #大学#套接字
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (11)MATLAB PCA+SVM 人脸识别
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (二) 初入MySQL 【数据库管理】
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (七)理解angular中的module和injector,即依赖注入
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (三)模仿学习-Action数据的模仿
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (十七)Flink 容错机制
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (一)appium-desktop定位元素原理
  • (正则)提取页面里的img标签
  • (转)程序员疫苗:代码注入