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

网站建设与管理实践报告总结天津贝宏建筑工程有限公司

网站建设与管理实践报告总结,天津贝宏建筑工程有限公司,下载官方app下载安装,婚纱摄影网站图片大神链接#xff1a;作者有幸结识技术大神孙哥为好友#xff0c;获益匪浅。现在把孙哥视频分享给大家。 孙哥链接#xff1a;孙哥个人主页 作者简介#xff1a;一个颜值99分#xff0c;只比孙哥差一点的程序员 本专栏简介#xff1a;话不多说#xff0c;让我们一起干翻J… 大神链接作者有幸结识技术大神孙哥为好友获益匪浅。现在把孙哥视频分享给大家。 孙哥链接孙哥个人主页 作者简介一个颜值99分只比孙哥差一点的程序员 本专栏简介话不多说让我们一起干翻JVM 本文章简介话不多说让我们讲清楚JVM当中与操作数栈相关的字节码指令 文章目录 一 操作数栈字节码指令 1编写源码 2javap解释整理字节码 3通过jclasslib查看字节码指令 二字节码分析 1最全字节码指令分析 2面试题 一 操作数栈字节码指令 1编写源码 public class OperandStackTest {public void testAndOperation(){byte i 15;int j 8;int k ij;} }2javap解释整理字节码 想要查看字节码文件呢我们有两种方式第一种就是直接进行javap第二种就是使用jclasslib进行查看我们先使用第一种。 PS D:\code\study\hadoop\shit\target\classes javap -verbose .\OperandStackTest.class Classfile /D:/code/study/hadoop/shit/target/classes/OperandStackTest.classLast modified 2023年11月9日; size 421 bytesSHA-256 checksum 487149a1edc4d19af0b1fe2369086c27c8765ff5e011491d1028d4f6cf1d9746Compiled from OperandStackTest.java public class OperandStackTestminor version: 0major version: 52flags: (0x0021) ACC_PUBLIC, ACC_SUPERthis_class: #2 // OperandStackTestsuper_class: #3 // java/lang/Objectinterfaces: 0, fields: 0, methods: 2, attributes: 1 Constant pool:#1 Methodref #3.#19 // java/lang/Object.init:()V#2 Class #20 // OperandStackTest#3 Class #21 // java/lang/Object#4 Utf8 init#5 Utf8 ()V#6 Utf8 Code#7 Utf8 LineNumberTable#8 Utf8 LocalVariableTable#9 Utf8 this#10 Utf8 LOperandStackTest;#11 Utf8 testAndOperation#12 Utf8 i#13 Utf8 B#14 Utf8 j#15 Utf8 I#16 Utf8 k#17 Utf8 SourceFile#18 Utf8 OperandStackTest.java#19 NameAndType #4:#5 // init:()V#20 Utf8 OperandStackTest#21 Utf8 java/lang/Object {public OperandStackTest();descriptor: ()Vflags: (0x0001) ACC_PUBLICCode:stack1, locals1, args_size10: aload_01: invokespecial #1 // Method java/lang/Object.init:()V4: returnLineNumberTable:line 1: 0LocalVariableTable:Start Length Slot Name Signature0 5 0 this LOperandStackTest;public void testAndOperation();descriptor: ()Vflags: (0x0001) ACC_PUBLICCode:stack2, locals4, args_size10: bipush 152: istore_13: bipush 85: istore_26: iload_17: iload_28: iadd9: istore_310: returnLineNumberTable:line 3: 0line 4: 3line 5: 6line 6: 10LocalVariableTable:Start Length Slot Name Signature0 11 0 this LOperandStackTest;3 8 1 i B6 5 2 j I10 1 3 k I } SourceFile: OperandStackTest.java3通过jclasslib查看字节码指令 首先进行recompile Java文件为字节码文件然后我们在idea的view下找到这个 show ByteCode with JclassLib 最终显示结果如下 二字节码分析 1最全字节码指令分析 public class OperandStackTest {public void testAndOperation(){byte i 15;int j 8;int k ij;} }0 bipush 152 istore_13 bipush 85 istore_26 iload_17 iload_28 iadd9 istore_3 10 return bipush将15这个值push到了操作数栈中此时我们的操作数栈就有了第一个值。我们需要回顾一下byte、short、char、boolean、int类型在声明之后往数组中进行存放的时候都会保存为int类型。也就是说虽然定义的是byte类型但是存放到数组中就是int类型 栈帧在调用之初栈帧被创建完成其中的操作数栈和局部变量表是空的。PC寄存器中存放着第一条要执行的指令的地址。 istore_1将这个值从操作数栈放到了局部变量表中索引为1的位置为什么不是0呢因为这不是一个静态方法索引为零的位置存放的是this。 此时的操作数栈就成了空这是一个出栈的操作。过程中会修改PC寄存器中的索引值为下一条命令的索引值。 过程中会修改PC寄存器中的索引值为下一条命令的索引值。 同样的道理8也会经过bipush和istore_2然后最终的结果如下 iload_1和iload_2命令会将变量中索引为1,2的数据取出来分别放到局部变量表中 最终的运行结果如下 紧接着会进行一个iadd命令这个命令呢会使数据进行出栈然后相加。值得注意的是字节码指令需要被翻译为机器指令机器指令操作CPU进行相加。然后将结果23放到操作数栈当中。 运行结果如下 最终istore_3将这个值从操作数栈放到了局部变量表中索引为3的位置 此时的操作数栈就成了空这是一个出栈的操作。过程中会修改PC寄存器中的索引值为下一条命令的索引值。 最终的运行结果如下 我们也注意到局部变量表长度为4操作数栈深度为2看javap的结果这也是与图中可以对应上的唯一区别的是局部变量表中的因为篇幅原因this的位置也就是索引为0的变量槽没有展示出来。  补充说明 我们注意到bipush是将一个byte类型的数据push到操作数栈中基于int类型进行存储还有sipush这个字节码指令的含义是将short类型的数据push到操作数栈中基于int类型进行存储。 如果方法有返回值那么最终的字节码指令将由return会变成ireturn。也就是将值做了一个返回这个栈帧就结束了另外一个调用此方法的栈帧会立即调用一个aload_x这样的一个操作将上一个方法的返回值加载到此栈帧的操作数栈中。 public int getSum(){int m 10;int n 20;int k mn;return k;}public void testGetSum(){//aload_0获取上一个栈帧返回的结果并保存在操作数栈中。int i getSum();int j 10;} 2面试题 i 和 j的区别是什么 此问题后续我们在字节码文章中会跟大家进行探讨
http://www.dnsts.com.cn/news/5555.html

相关文章:

  • 做企业网站项目的心得网站打不开第二天不收录啦
  • 深入网站开发和运维 pdf前端做兼职网站
  • 网站建设效益wordpress按钮下拉菜单
  • 唐山专业网站建设公司黑龙江省住房和城乡建设信息网
  • 网站兼容浏览器服务个人做网站如何推广
  • 烟台网站建设兼职网站建设时间表
  • 中山网站建设开发私人网盘服务器
  • 电子商务网站建设课程德州市德城区城乡建设局网站
  • 金昌网站建设金蝶软件多少钱一套
  • 找事做的网站做一个个人主页的网站怎么做
  • 网站备案人有什么风险wordpress循环分类
  • 网站布局怎么设计网站使用网络图片做素材 侵权吗
  • 个人电影网站建设收益门窗专业设计网站
  • 杭州企业网站seo什么是flash网站
  • 河南省建设厅网站建设领域涉黑wordpress折腾怕了
  • 网站建设专员网盘推广赚钱
  • 专业网站建设联系一个网站百度百科怎么做
  • 福州市建设工程质量监督站网站asp.net新建网站
  • 重庆专业网站建设首页排名黄浦网站制作
  • 有哪些做壁纸的网站台州专业做网站
  • python 做网站开发男女做羞羞的视频网站
  • 陕西省医院信息化建设规范与测评标准—网站建设评分标准与方法wordpress 内容页
  • 招商网站建设公司企业网站设计欣赏
  • 网站开发软件标书范本手机app开发制作多少钱
  • 做网站如何收益广州中小学智慧阅读门户网站
  • 建设网站的预算十大免费建站app
  • 重庆网网站建设公司本机快速做网站
  • 做外贸要看哪些网站郑州官网网站优化公司
  • 专业建设物流行业网站h5网站模板开发
  • 网站收录量下降移动终端的网站