前言

在翻阅ConcurrentLinkedQueue的代码的时候,发现这样一段代码在JDK源码中总是出现。

t != (t = tail) 原先总是以为这不就是 t != t ?很是纳闷,遂Demo了一下发现并不是我想象中的那样..

Demo

在运算符优先级当中寻找答案好像是找不出什么答案了,至少我没有想通..

刚好看了JVM之后一直没有用过相关的东西,这次便从字节码层面来探个究竟..

字节码

查看字节码内容

stack = 4,需要深度为3的操作数栈

locals = 3,需要3个Slot的局部变量空间

常量池

执行过程

下面就来看一下,Java这种基于栈的解释器是怎么执行这个Demo的。

附录

虚拟机字节码指令表

https://www.jianshu.com/p/e057695f1184

最新文章

  1. LINUX 设置ll的时候显示日期的格式
  2. php基础_字符串
  3. hadoop之根据Rowkey从HBase中查询数据
  4. hihocoder #1179 : 永恒游戏 暴力
  5. Oracle 常用操作
  6. js中apply和call的用法 以及apply的妙用 (来自网络)
  7. HTTP1.1协议中文版-RFC2616
  8. jQuery方式事件冒泡的2个方法
  9. windows和linux删除文件方法
  10. BOM浏览器对象模型下面几个比较实用的方法
  11. vim 命令整理(自己经常使用)
  12. 【一天一道LeetCode】#78. Subsets
  13. vue的混合mixins学习
  14. hdu 5183(Hash处理区间问题)
  15. 在winform上内嵌入其它的程序
  16. 通过HTTP协议发送远程消息
  17. 2017-2018-1 20155209 实现mypwd
  18. C语言read函数的那些坑
  19. Windows 使用 Gitblit 搭建 Git 服务器
  20. Problem W: 零起点学算法21——求平均值

热门文章

  1. vs code 本地调试配置
  2. SSIS 無法將保護的 XML 節點 "DTS:Password" 解密,錯誤為 0x8009000B "機碼用在特定狀態時無效
  3. PHP的错误知识
  4. 学习进度-11 RDD 编程初级实践
  5. RabbitMq学习笔记——MingW编译RabbitMQ C
  6. KVM——虚拟化
  7. 《跟老齐学Python:从入门到精通》齐伟(编著)epub+mobi+azw3
  8. jenkins 2.204.2 安装, 使用国内源安装, 并且跳过插件界面, 更新成国内插件源.
  9. Day10 - A - Rescue the Princess ZOJ - 4097
  10. 洛谷 P1886 滑动窗口 /【模板】单调队列