java 中 a = a++ 的分析
下面我们来看一段代码
public static void main(String[] args) {int ret = 1;int a = 10;ret = a++;a = a++;System.out.println(ret);System.out.println(a);}
大家可以估计一下输出的值
是不是 ret = 10 , a = 12 ?
但其实不是的 ret = 10 ,a = 11
其实这样赋值的本质是
java中 每个方法都有一个属于自己的地方,叫做栈帧
栈帧又分为:局部变量表,操作数栈等等
局部变量表 : 主要用户存储方法参数和定义在方法体内的局部变量
操作数栈 : 主要用于保存计算过程的中间结果,同时作为计算过程中变量临时的存储空间
下面就是 a = a++;的具体详细过程
先将 a的值 赋值一份到操作数栈中,然后在对局部变量表中的a加1,此时a = 12
然后将a = 11 的值从操作数栈中取出来赋值给a
这样就将a == 12的值给覆盖了
大家可以自己分析一下 ret = a++; 和 a = a++; 的区别
java 中 a = a++ 的分析相关推荐
- java数组释放内存空间,Java中数组的内存分析
正文 引言: 墨白在文末给大家准备了程序员的适用壁纸,需要的小伙伴自取,今天的内容是给大家聊聊Java中数组的内存分析和原理,很多朋友可能已经忘记了,毕竟这是非常基础的点了,这次算是给大家复习了吧! ...
- Java中ArrayList源码分析
一.简介 ArrayList是一个数组队列,相当于动态数组.每个ArrayList实例都有自己的容量,该容量至少和所存储数据的个数一样大小,在每次添加数据时,它会使用ensureCapacity()保 ...
- Java中关于内存泄漏分析和解决方案,都在这里了!
作者:李序锴 www.jianshu.com/p/54b5da7c6816 最近正在熟悉Java内存泄漏的相关知识,上网查阅了一些资料,在此做个整理算是对收获的一些总结,希望能对各位有所帮助,有问题可 ...
- Java中csv文件读写分析
文章目录 一.txt.csv.tsv文件 二.csv文件规范 三.csv使用场景 四.Java中的csv类库 1. javacsv 2. opencsv 写入器 读取器 解析器 注解 映射策略 过滤器 ...
- 使用深度学习模型在 Java 中执行文本情感分析
积极的? 消极的? 中性的? 使用斯坦福 CoreNLP 组件以及几行代码便可对句子进行分析. 本文介绍如何使用集成到斯坦福 CoreNLP(一个用于自然语言处理的开源库)中的情感工具在 Java 中 ...
- Java中Int转byte分析
针对声明变量 int i = 3,j = 8; int占4个字节,i = 3 在Java二进制表示: 00000000 00000000 00000000 00000011 j = 8 在Java二进 ...
- Java中的Enum的使用与分析
示例: public enum EnumTest { FRANK("The given name of me"), LIU("The family name of me& ...
- Java异常打印输出中常见方法的分析
Java异常是在Java应用中的警报器,在出现异常的情况下,可以帮助我们程序猿们快速定位问题的类型以及位置.但是一般在我们的项目中,由于经验阅历等多方面的原因,依然有若干的童鞋在代码中没有正确的使用异 ...
- JAVA产生异常并打印,Java中异常打印输出的常见方法整理
前言 Java异常是在Java应用中的警报器,在出现异常的情况下,可以帮助我们程序猿们快速定位问题的类型以及位置.但是一般在我们的项目中,由于经验阅历等多方面的原因,依然有若干的童鞋在代码中没有正确的 ...
最新文章
- linux 病毒脚本,解析常见的Linux病毒
- 关于laravel 框架运行数据库迁移文件的一个小坑以及常用php artisan命令
- 洛谷 - P4011 孤岛营救问题(bfs+状态压缩)
- 可疑文件_特制的ZIP文件能够绕过电子邮件安全网关
- 前端学习(2433):创建页面组件
- 企业级工作流解决方案(十六)--工作流--工作流实体模型
- mySQL 插入,更新和删除数据
- java 遍历arrayList的四种方法
- opencv java 特征提取_OPENCV特征点java提取与匹配与比较
- Citrix为什么要兼容第三方服务器虚拟化平台
- python 学习第十二课
- 【王道考研】计算机网络知识点
- Chrome离线安装包下载方式
- 实现微信 委托代扣/包月服务
- Windows系统下使用WCP搭建自己的本地知识库管理平台
- 揭开MySQL数据库的神秘面纱!
- upc 生命曲线 线段树+lazy
- bvlc_googlenet.caffemodel模型及描述文件地址
- 深入了解C/C++开发就业前景如何?
- java基础数据类型大小