未使用的局部变量Java 8 – java.lang.VerifyError:不一致的sta
我最近将项目从1.7升级到
Java 1.8.
我得到一个异常的堆栈映射的异常,我的一个类中的方法. 在方法中初始化一些未分配的局部变量解决了它,但有人可以解释为什么使用未读变量会在Java 8中引发异常,谢谢. 它可能与使用的eclipse版本(Kepler SR 2 20140224-0627),只是好奇. 解决方法 >之前在修复错误代码之前使用’–xxSplitVerifier'(在1.7中)或’-noVerify’Jvm参数. 方法 : 不能发布完整的方法作为我所拥有的公司的非常大且有限的代码. public synchronized int setData() //sample code { int id= 0; StringBuffer sb; // works if initialized - stringBuffer sb = null; String name; // works if name = null if (true) { sb = new StringBuffer(); } else { sb = new StringBuffer(); } stackFrame: 引起:java.lang.VerifyError:分支目标2079处的堆栈映射帧不一致 例外细节:位置: 原因: 当前框架: Stackmap框架: 解决方法
假设您正在使用OpenJDK – 很可能您遇到编译器错误
JDK-8160699.然后解决方案是升级到更新的JDK版本.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- java编译时库和运行时库有什么区别?
- Hibernate Query接口 setString方法:绑定映射类
- ASM源码学习之ClassReader、ClassVisitor与Class
- Hibernate connection.driver_class属性——指定
- java – Jedis – 何时使用returnBrokenResource
- java实现服务器文件打包zip并下载的示例(边打包边
- java – 如何在NotSerializableException中识别匿
- 多线程 – 用于多线程同步的OO设计模式
- Jmeter 4.0 对返回Json处理
- java – 为什么这个代码不会导致ConcurrentModif