`
liwei113114
  • 浏览: 14373 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ASM使用时的注意事项

阅读更多

    这两天写用ASM写了一个将普通JavaBean转成MongoDB的DBObject对象的一个方法,对其中遇到的一些问题做一个总结。

    1.自动装箱功能

      用ASM就意味着很多jdk的很多优化性的功能不能用了,其中之一就是自动装箱和拆箱。如果一个方法接收一个Integer的参数,那你在用ASM调用该方法的时候就不能直接将int传给这个参数,而是要用Integer.valueOf()方法来封装。

    2.关于接口方法的调用

    我们在编写普通java方法时,对于接口方法和对象的方法在调用上来说没有任何区别,但在jvm底层,这两者是有区别的,调用对象的非静态方法用的是INVOKEVIRTUAL指令,而调用接口方法是用的INVOKEINTERFACE指令。这点在使用ASM中应特别注意。

    3.不使用的返回值

    这个问题困扰了我接近一个小时,在我们平时调用时,对于那个方法有返回值,但我们不使用的情况,我们可能从来没有注意过。但你去用javap反编译字节码,会发现如果不使用这个返回值,最后会有一个POP指令将其弹出,这是为了使在方法执行完后,运行栈上为空。如果最后不为空,可能会出现:java.lang.VerifyError:Inconsistent stack height 3 != 2

   还有一些更细节的东西就不写出来,以免被鄙视。(不定期更新。。。)

0
1
分享到:
评论

相关推荐

    ORACLE ASM添加磁盘操作步骤

    ORA-15260错误通常发生在尝试执行某些ASM操作时,可能是由于系统资源不足或者ASM实例状态不正常等原因造成。 - **解决办法**: - 检查ASM实例状态是否正常。 - 增加系统资源分配。 - 重启ASM实例尝试重新执行操作...

    Dahua大华DH-ASM100门禁发卡器使用说明书.pdf

    1. 门禁发卡器的安全使用注意事项: * 修改默认密码,避免被盗用 * 避免将设备放置在阳光直射、潮湿、有灰尘或煤烟的场所 * 保持设备的水平安装,防止本产品坠落 * 避免液体滴到或溅到设备上 *确保设备上不能...

    ASM 8312 Diebond半导体设备高精度晶圆贴片机操作使用说明书

    2. **安全指南**:详细列出操作设备时的安全注意事项和预防措施,以避免操作失误造成的人员伤害或设备损坏。 3. **安装与调试**:描述如何正确安装设备,包括所需的环境条件、电源需求和地面稳定性等,以及初始设置...

    ASM自动存储管理

    3. **注意事项**:所有软件包安装完成后,建议重启服务器以确保所有配置正确加载且不出现错误。 #### 3. 配置ASM驱动(ASMlib) 配置ASM驱动程序的过程涉及设置默认的用户和组权限,以及确定是否在启动时加载驱动...

    Oracle12c 实战ASM磁盘组管理

    本文将详细介绍Oracle12c中关于ASM(Automatic Storage Management)磁盘组管理的关键知识点,包括磁盘组属性的理解与配置、创建磁盘组的过程及注意事项。 #### 一、Disk Group 属性详解 磁盘组属性是指绑定到特定...

    ASM实例+ASM数据库安装(Win8+Ora10)

    - **注意事项**:在启动ASM实例时可能会遇到一些警告或错误,比如“ORA-15110: no diskgroups mounted”,这是因为还没有创建ASM磁盘组。 ##### 3.5 新建disk group - **操作步骤**:使用`create diskgroup`命令...

    ASM 设备操作手册

    ### 使用注意事项 - 手册中的内容可能有所更改,如有变动,恕不另行通知。 - 若中文本与英文本有差异之处,以英文本为准。 综上所述,“ASM 设备操作手册”提供了关于AD830高速银浆固晶机的详细操作指导,涵盖了从...

    C32Asm 反汇编工具

    在压缩包中的"读我.txt"文件,很可能是C32Asm的使用指南或注意事项,它可能包含了安装步骤、配置选项、命令行参数以及一些使用技巧。而"c32asm"可能是个可执行文件,即C32Asm工具本身,或者是一个示例文件,用于演示...

    ASM自动焊线机.pdf

    注意事项是ASM自动焊线机的重要组成部分,包括机器人的安全使用、维护和保养等。这些注意事项可以确保机器人的正常运行和焊接过程的稳定性。 ASM自动焊线机是自动焊线机器人,提供了多种功能和调整选项,用于焊接...

    LINUX环境下oracle11gr2 grid + asm下dbca创建数据库生产环境安装注意事项

    包括详细的安装过程和每一步的说明,以及安装注意事项 一、 说明 2 二、 安装前 2 (一) 相关知识点 2 1. RAC概述 2 2. GI(Grid Infrastructure) 4 (二) 安装前环境准备 4 1. 安装步骤 4 2. 虚拟机硬件环境准备...

    ASM操作加盘.7z

    每个步骤都有其特定的语法和注意事项。 6. **ASM磁盘的管理策略**:ASM提供了自动修复功能,当检测到磁盘错误时,会尝试修复并保持数据一致性。此外,通过设置磁盘组的REPAIR_TIME目标,可以控制ASM在发现错误后的...

    ASM焊线机操作指导书.pdf

    15. 教读手动对点:在Teach Aligmment菜单输入2(只有1 Die时)并按Enter 编写手动对点Lead(支架)和Die(晶片)两个点。 16. 编写自动对点:做完手动对点后会自动到该菜单下,先选Template设定合适的图形大小和...

    初学者必看!ASM如何转换为HEX文件).rar

    9. **注意事项**:在转换过程中要注意目标平台的指令集和内存模型,因为不同的微控制器可能有不同的寻址方式和限制。此外,HEX文件通常不包含数据段,只有代码段,因此需要确保数据已经在程序中正确初始化。 10. **...

    ASM1042 USB3.0最新驱动

    "下载说明(Readme).htm"文件通常包含安装驱动程序的详细步骤、注意事项、系统要求以及可能的已知问题和解决方案。在安装新驱动之前,用户应仔细阅读此文件,确保遵循正确的顺序进行操作,以避免任何潜在的问题或冲突...

    如何使用Visual_Studio编程调试ASM汇编语言程序_masm_9

    3. **注意事项**:此 MASM 下载仅适用于 Visual C++ 2005 Express。需要注意的是,MASM 8.0 与 MASM 9.0 功能上几乎相同。 **步骤3:安装书籍示例程序** 1. **下载示例程序包**:点击提供的链接下载书籍中的示例...

    Oracle 10.2 ASM 最佳实践 最终版本

    - **单个非ASM数据文件迁移到ASM**:详细步骤和注意事项。 - **数据泵文件集与ASM**:如何使用数据泵功能与ASM配合工作。 - **在ASM中创建额外的控制文件**:相关脚本和命令。 - **ASM SQL 脚本**:常用的SQL脚本...

    ASM1153E_固件刷写.zip

    三、注意事项 1. **安全第一**:固件刷写有风险,可能导致设备无法使用。务必谨慎操作,遵循所有安全建议。 2. **防病毒**:确保在安全的网络环境下下载固件,避免下载带有恶意软件的文件。 3. **电源管理**:刷...

    Linux5.5 ASM安装包(32位和x86的64)

    7. **ASM的限制与注意事项**: - ASM不支持所有类型的文件系统,主要用于Oracle数据库相关的文件。 - 配置和管理ASM需要专业知识,错误操作可能导致数据丢失。 - 在生产环境中,应定期备份ASM磁盘组,以防意外。 ...

    C32Asm特征码修改工具

    `说明_Readme.html`应包含软件的使用说明和注意事项,建议在使用前仔细阅读。`C32ASM.INI`可能是配置文件,用来存储用户的设置和参数。`history.txt`可能记录了用户的操作历史,方便回溯和分析。`Symbol`、`LANGUAGE...

    ARM_ASM Converter.rar

    四、注意事项 使用ARM ASM Converter时,需要注意以下几点: - 指令集的兼容性:确保你输入的汇编指令适用于目标ARM架构,因为不同的ARM处理器可能支持不同的指令集版本。 - 错误检查:虽然工具可以帮助转换,但并...

Global site tag (gtag.js) - Google Analytics