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


報異常的方法內使用了Java 7的新特性:自動資源釋放,類似於try(){},即在try后面跟一括號,在括號里面對一些資源賦值,try里面的代碼塊執行完畢之后會自動釋放try后面的括號中聲明的資源。

  Java 7 會使用新的Class類型校驗器,新的類型校驗器將老的校驗器分為兩步:

      1、類型推斷

      2、類型校驗

    新的類型校驗器通過在javac編譯時嵌入類型信息到bytecode中,省略了類型推斷這一步,從而提升了classloader的性能。  

  Classload順序(供參考):  load -> verify -> prepare -> resove -> init

  

解決辦法:在運行jvm參數設置 -XX:-UseSplitVerifier

如Idea:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM