`
不吃鱼的猫
  • 浏览: 25456 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

请教一个Class文件操作码的意思

阅读更多
最近在看JVM(深入java虚拟机)
一个简单的java程序
int i = 0; 
for (;;) { 
i += 1; 
i *= 2; 
}
 
对应的byteCode以及助记操作码如下
// Bytecode stream: 03 3b 84 00 01 1a 05 68 3b a7 ff f9
// Disassembly:
mnemonic bytecode offset
iconst_0   // 03        0
istore_0   // 3b        1
iinc 0, 1    // 84        2
                // 00        3
                // 01        4
iload_0    // 1a         5
iconst_2   // 05        6
imul          // 68        7
istore_0   // 3b        8
goto -7    // a7        9
               // ff        10
               // f9       11

从sun的jvm spec上得知 ff 是保留操作码,不过这个f9没有查到是什么意思
望老手赐教,谢过了先!

 

分享到:
评论
2 楼 不吃鱼的猫 2008-01-26  
非常感谢,还是自己看得不认真。
1 楼 jsyx 2008-01-25  
http://java.sun.com/docs/books/jvms/second_edition/html/Instructions2.doc5.html

Format
goto
branchbyte1
branchbyte2


a7是goto
ff是branchbyte1
f9是branchbyte2

The unsigned bytes branchbyte1 and branchbyte2 are used to construct a signed 16-bit branchoffset, where branchoffset is (branchbyte1 <<8) | branchbyte2. Execution proceeds at that offset from the address of the opcode of this goto instruction. The target address must be that of an opcode of an instruction within the method that contains this goto instruction.

所以(ff<<8)|f9=f9 转换为有符号的十进制数是-7
也就是goto -7了

大概好像是这样

相关推荐

    BEA portal精华贴

    - **特点**:一个 Portlet 可以为不同用户提供不同的内容,这取决于用户的特定设置和偏好。 **4. Portlet 容器** - **定义**:Portlet 容器是运行 Portlet 的环境,为 Portlet 提供必要的基础设施和支持。 - **...

    小白的20天Java学习打卡day1

    DOS是磁盘操作系统,提供了一系列命令用于目录操作、磁盘操作、文件操作等。在Windows中,可以通过"开始菜单" - "运行" - 输入"cmd" - 回车打开DOS命令窗口。 3. **Windows操作系统文件扩展名的应用** 对于Java...

    基于S7-200 PLC与组态王的花式喷泉控制系统设计及其实现

    内容概要:本文详细介绍了利用S7-200 PLC和组态王构建花式喷泉控制系统的设计思路和技术细节。首先阐述了喷泉系统的基本构成,包括硬件部分如PLC、喷嘴及其连接方式,以及软件部分如喷嘴控制逻辑、喷泉变换逻辑和控制画面设计。接着展示了具体的梯形图接线图和代码实现,解释了关键变量的作用和程序流程。最后讨论了系统测试与调试的方法,强调了硬件配置、IO分配、通信配置等方面的注意事项,并分享了一些实用技巧。 适合人群:对工业自动化感兴趣的工程师、技术人员及学生。 使用场景及目标:适用于需要设计和实施智能喷泉控制系统的项目,旨在提高喷泉控制的智能化水平,增强观赏性和互动性。 其他说明:文中提供了详细的硬件配置清单、IO分配表、梯形图代码样例以及调试过程中遇到的问题和解决方案,有助于读者更好地理解和应用相关技术。

    tang-7-6.el8.x64-86.rpm.tar.gz

    1、文件说明: Centos8操作系统tang-7-6.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf tang-7-6.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm

    矩阵链乘积次数问题(栈和队列的应用) 问题描述:输入n个矩阵的维度和一个矩阵链乘积表达式,请输出按照该表达式计算所有乘积运算的乘法次数之和 如果乘法无法进行,输出error 假定A是m*n矩阵,B是n

    矩阵链乘积次数问题(栈和队列的应用) 问题描述:输入n个矩阵的维度和一个矩阵链乘积表达式,请输出按照该表达式计算所有乘积运算的乘法次数之和。如果乘法无法进行,输出error。假定A是m*n矩阵,B是n*p矩阵,那么AB是m*p矩阵,A*B运算的乘法次数为m*n*p。如果A的数不等于B的行数,则乘法无法进行。

    软件测试从基础理论到方法.zip

    软件测试资源合集,含基本理论、接口测试、性能测试、基础教程、漏洞追踪等。

    百战程序员1573题最新答案

    这是一份针对Java编程的面试题,涵盖了Java的基础知识与面向对象编程的核心概念。问题包括数据类型、控制语句、数组操作和类的设计等,旨在测试面试者对Java语言的掌握程度、代码实现能力以及解决实际问题的思维方式。

    (源码)基于嵌入式系统的Tap键盘模拟器.zip

    # 基于嵌入式系统的Tap键盘模拟器 ## 项目简介 Tap Keyboard Emulator是创新的嵌入式系统项目,采用特殊编程实现单点触摸输入。用户无需移动手指或视觉追踪就能快速输入文本,为高效、无障碍输入提供了新方案。 ## 项目的主要特性和功能 ### 主要特性 1. 非视觉输入引导借助特殊感应装置,实现无视觉依赖的文本输入。 2. 快速打字单点触摸方式提升打字效率。 3. 自定义手势支持用户创建个性化快捷键或命令。 4. USB即插即用通过USB接口连接,兼容性广泛且连接方便。 ## 安装使用步骤 假设用户已下载项目源码文件,以下是安装和使用基本步骤 1. 准备硬件设备,如感应装置、处理器和USB接口等。 2. 使用开发工具编译源码,并烧录到硬件设备。 3. 通过USB接口将设备连接到电脑。 4. 根据设备特性进行系统设置和调整。 5. 启动设备,按提示进行非视觉输入引导,开始文本输入。

    欧姆龙机器视觉软件系统FH、FZ、FJ系列的功能特性与应用

    内容概要:本文详细介绍了欧姆龙机器视觉软件系统FH、FZ、FJ系列的特点及其应用场景。FZ系列作为基础款图像处理工具包,适用于简单的图像处理任务如二维码识别,但不支持深度学习模型。FH系列则在此基础上增加了NNProcessor模块,支持深度学习模型的应用,如PCB板焊点检测,并引入了GPU加速的图像处理能力。FH系列还提供了强大的仿真环境,可以在不接入真实硬件的情况下进行检测流程的模拟,极大提高了调试效率。此外,FH系列优化了图像处理流水线,采用链式语法提高处理效率。文中还展示了如何将仿真数据与真实设备结合使用,以及如何利用仿真环境进行异常情况模拟。最后,文章强调了FH系列在硬件兼容性和实时参数反馈方面的优势。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对机器视觉有需求的研发人员。 使用场景及目标:①帮助工程师快速掌握欧姆龙机器视觉软件系统的使用方法;②提供详细的代码示例,便于理解和实践;③介绍仿真环境的应用,降低试错成本,提高开发效率。 其他说明:文章通过具体案例和代码示例,深入浅出地讲解了各系列软件的特点和优势,为用户提供了一个全面的学习和参考资料。

    P2并联架构Cruise仿真模型与Simulink控制策略解析及应用

    内容概要:本文详细介绍了基于P2并联架构的Cruise仿真模型及其Simulink控制策略。首先,文章阐述了模型架构,特别是P2电机的位置选择以及行星齿轮组的参数配置,强调了扭矩耦合的优势。接着,深入探讨了控制策略,包括三层状态机嵌套的工况识别模块、滑动窗口方差计算用于预判驾驶意图、带遗忘因子的递推最小二乘法进行动态扭矩分配等关键技术。此外,文章还展示了速度跟随模块采用的带前馈的PID控制算法,并讨论了模型验证过程中遇到的问题及解决方案。最后,作者分享了一些有趣的彩蛋和隐藏功能,如秋名山模式和实时参数调整模块,以及模型的实际性能提升情况。 适合人群:从事汽车控制系统研究、混合动力汽车开发的技术人员,尤其是熟悉Matlab/Simulink平台的研发人员。 使用场景及目标:适用于希望深入了解P2并联架构Cruise仿真模型的设计原理和技术细节的研究者;旨在帮助开发者掌握先进的控制策略实现方法,提高仿真模型的精度和效率。 其他说明:文中提供了详细的代码片段和参数设置指南,便于读者理解和复现实验结果。同时,作者提醒读者注意一些潜在的技术陷阱,并给出了相应的解决建议。

    工业自动化中威纶通触摸屏与施耐德ATV12变频器Modbus通讯详解及应用

    内容概要:本文详细介绍了威纶通触摸屏与施耐德ATV12变频器之间的Modbus通讯方法,涵盖硬件接线、参数设置、控制程序编写以及调试技巧。首先,文章讲解了正确的硬件连接方式,强调了接线规范和注意事项,如正确连接双绞线并确保接地良好。接着,针对ATV12变频器的具体参数设置进行了详尽说明,包括通信模式的选择、波特率、校验位等重要参数的配置。然后,文章提供了触摸屏侧的配置指导,包括创建Modbus RTU设备、设置通信参数和编写控制脚本。此外,文中还分享了一些常见的调试问题及其解决办法,如通讯超时、频率设定异常等,并给出了实用的调试工具和方法。最后,文章建议在HMI界面上加入通讯心跳检测功能,以便及时发现和解决问题。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是那些负责PLC编程、HMI界面开发和设备集成工作的专业人员。 使用场景及目标:适用于需要将威纶通触摸屏与施耐德ATV12变频器进行Modbus通讯连接的实际工程项目中,帮助技术人员顺利完成设备间的通信配置,确保系统稳定可靠运行。 其他说明:本文不仅提供理论知识,还包括大量实践经验,对于初学者来说是非常宝贵的参考资料。同时,文中提到的一些小技巧和注意事项能够有效避免常见错误,提高工作效率。

    活动创作者激励数据相关材料

    【活动】创作者激励数据相关材料

    基于PLC的液体饲料自动调配与饲喂系统设计:自动控制、梯形图程序与接线图解析

    内容概要:本文详细介绍了基于PLC的液体饲料自动调配与饲喂系统的开发过程和技术要点。首先,文章描述了系统硬件架构的设计,包括选用的PLC型号、传感器类型及其连接方式。接着,深入探讨了梯形图程序的具体实现,如急停按钮、液位传感器、定时器等功能的逻辑设计。此外,文章还讲解了配料算法的优化,特别是针对黏稠物料的特殊处理方法。最后,讨论了组态画面的设计,确保操作简便直观,并介绍了故障自检功能和模拟量处理的黑科技,如移动平均滤波和PWM调节流量。 适合人群:具有一定PLC编程经验的技术人员,尤其是从事工业自动化领域的工程师。 使用场景及目标:适用于需要提高饲料调配精度和效率的养殖场或饲料加工厂。主要目标是通过自动化控制系统,减少人为干预,提高生产效率和产品质量。 其他说明:文中提供了大量实用的调试经验和注意事项,帮助读者更好地理解和应用相关技术。

    基于MATLAB的直流潮流与潮流跟踪算法实现及其应用

    内容概要:本文详细介绍了如何使用MATLAB实现直流潮流计算和潮流跟踪算法,并将其应用于IEEE-9节点系统进行验证。文中首先解释了直流潮流的基本概念和核心公式P = B'θ,接着展示了具体的MATLAB代码实现步骤,包括构建导纳矩阵、处理平衡节点以及计算节点相角和支路潮流。此外,文章还比较了直流潮流与牛顿法的区别,指出前者在计算速度上的优势和精度上的局限性。最后,作者提出了将直流潮流用于快速估算和故障分析的实际应用场景。 适合人群:电力系统相关专业的学生、研究人员和技术人员,尤其是对MATLAB编程有一定基础的人群。 使用场景及目标:适用于电力系统仿真、故障分析、电网规划等场合,旨在帮助用户快速掌握直流潮流计算方法,提高工作效率。 其他说明:尽管直流潮流存在一定的精度限制,但它作为一种高效的简化模型,在初步分析和快速估算中有广泛的应用价值。同时,文章提供了详细的代码示例和验证结果,便于读者理解和实践。

    优化算法领域中基于Circle混沌初始化与非线性因子的MSBOA改进及其应用

    内容概要:本文深入探讨了蝴蝶优化算法(BOA)的一种改进版本——MSBOA。主要改进点包括:Circle混沌初始化种群,增强了初始种群的多样性和均匀性;非线性因子调整,使得算法能够更好地平衡全局搜索和局部搜索;正余弦混合策略,提高了跳出局部最优的能力;以及逐维t分布扰动,解决了高维优化中的维度诅咒问题。文中详细介绍了各部分的代码实现,并通过多个测试函数验证了MSBOA的有效性。实验结果表明,MSBOA在收敛速度和精度上均优于原始BOA和其他常见优化算法。 适合人群:对优化算法有一定了解的研究人员和技术爱好者,希望深入了解并改进现有优化算法的人。 使用场景及目标:适用于解决复杂的多维优化问题,如工程设计、机器学习超参数调优等领域。目标是提供一种高效的优化方法,能够在较短时间内找到全局最优解。 其他说明:文章不仅提供了详细的理论解释,还包括具体的代码实现和实验数据,有助于读者理解和实际应用。同时提醒读者注意参数的选择和调整,以获得最佳性能。

    西门子S7-1200 PLC三轴伺服控制系统:结构化编程与多模式控制应用

    内容概要:本文详细介绍了基于西门子S7-1200 PLC的三轴伺服控制系统的设计与实现。主要内容涵盖使用UDT(用户自定义数据类型)、多重背景数据块、状态机模式切换以及报警处理等方面。通过结构化编程的方法,实现了代码的高复用性和良好的扩展性。文中还分享了一些具体的编程技巧,如脉冲输出、加减速曲线设置、IO映射等,并讨论了调试过程中遇到的问题及其解决方案。 适合人群:具有一定PLC编程经验的自动化工程师和技术人员。 使用场景及目标:适用于需要进行复杂机电一体化系统集成的工业环境,旨在提高生产效率和维护便捷性。具体应用场景包括但不限于流水线改造、机器人控制等领域。 其他说明:作者强调了结构化编程对于减少冗余代码、提升开发效率的重要性,并指出合理的数据库规划有助于快速定位问题并优化性能。此外,文章还提到了一些实用的小技巧,如利用状态机实现模式切换、采用事件队列管理报警信息等。

    三相MPC整流器的PI与模型预测控制算法实现高效功率因数管理及整流逆变无缝切换

    内容概要:本文详细介绍了三相模型预测控制(MPC)整流器的设计与实现。该系统采用双环控制架构,电压外环使用经典的PI控制确保直流母线电压稳定,而电流内环则利用MPC进行实时预测和优化,以实现高效的电流跟踪和功率因数控制。文中展示了具体的MATLAB和C代码片段,解释了各个控制环节的工作原理和技术细节,包括代价函数的选择、模式切换机制以及功率因数的计算方法。此外,还讨论了一些常见的调试技巧和注意事项,如参数调优、采样同步等问题。 适用人群:适用于从事电力电子、自动化控制领域的工程师和技术人员,尤其是对MPC算法感兴趣的科研人员。 使用场景及目标:本系统的应用场景主要包括工业电源、新能源发电等领域,旨在提高系统的动态响应速度、稳定性和功率因数。具体目标是通过优化控制算法,使得整流器能够在不同工作模式下平稳运行,并达到较高的功率因数(≥0.92)。 其他说明:文章不仅提供了理论分析,还有丰富的实践经验分享,帮助读者更好地理解和应用相关技术。同时提醒开发者关注一些容易忽视的问题,如参数敏感性和硬件兼容性等。

    超声空化气泡动力学仿真及其声场内分布标定的Python实现(复现论文,含详细可运行代码及解释)

    内容概要:本文详细介绍了超声空化气泡的理论研究、实验验证及声场内空化气泡分布的标定。首先,通过Python代码实现了单个超声空化气泡的动力学模拟,利用四阶龙格-库塔法求解气泡半径随时间的变化,并绘制了气泡半径随时间变化的图表。接着,采用有限差分法模拟了声场内的压力分布,进一步分析了空化气泡的分布情况。最后,结合声压场分布,模拟了多个空化气泡在声场内的动态演化过程,并通过动画展示了气泡的生长和收缩。 适合人群:从事超声波技术、流体力学、物理学等领域研究的专业人士,尤其是对超声空化现象感兴趣的科研工作者和技术人员。 使用场景及目标:①帮助研究人员深入理解超声空化气泡的动力学行为;②提供一种有效的工具来预测和分析声场内空化气泡的分布;③为超声设备的设计和优化提供理论支持和技术手段。 其他说明:文中提供的Python代码可以作为教学和研究的基础,用户可以根据具体应用场景进行修改和扩展。此外,模拟过程中使用的物理参数和数学模型可根据实际情况进行调整,以提高模拟的准确性。

    点进去,下载安装软件库等1个文件.rar

    点进去,下载安装软件库等1个文件.rar

    语音的matlab读取,频域转化,短时能量,时频特征图;matlab脚本的自动化读取大量语音文件,并生成保存需要的特征图;matlab脚本的自动迭代扫频扫带宽找特优值带宽值.zip

    matlab

Global site tag (gtag.js) - Google Analytics