Java_类似java.lang.VerifyError: Expecting a stackmap frame at branch target 22 in method的解决方法...

本文介绍了Java7中引入的新特性,包括自动资源释放机制和改进的类型校验器。自动资源释放可以在try代码块执行完毕后自动关闭指定资源,简化资源管理。而新的类型校验器则通过省略类型推断步骤提高了classloader的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报异常的方法内使用了Java 7的新特性:自动资源释放,类似于try(){},即在try后面跟一括号,在括号里面对一些资源赋值,try里面的代码块执行完毕之后会自动释放try后面的括号中声明的资源。

  Java 7 会使用新的Class类型校验器,新的类型校验器将老的校验器分为两步:

      1、类型推断

      2、类型校验

    新的类型校验器通过在javac编译时嵌入类型信息到bytecode中,省略了类型推断这一步,从而提升了classloader的性能。  

  Classload顺序(供参考):  load -> verify -> prepare -> resove -> init

  

解决办法:在运行jvm参数设置 -XX:-UseSplitVerifier

如Idea:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值