<bdo id='sYpsI'></bdo><ul id='sYpsI'></ul>

  • <i id='sYpsI'><tr id='sYpsI'><dt id='sYpsI'><q id='sYpsI'><span id='sYpsI'><b id='sYpsI'><form id='sYpsI'><ins id='sYpsI'></ins><ul id='sYpsI'></ul><sub id='sYpsI'></sub></form><legend id='sYpsI'></legend><bdo id='sYpsI'><pre id='sYpsI'><center id='sYpsI'></center></pre></bdo></b><th id='sYpsI'></th></span></q></dt></tr></i><div id='sYpsI'><tfoot id='sYpsI'></tfoot><dl id='sYpsI'><fieldset id='sYpsI'></fieldset></dl></div>

    <tfoot id='sYpsI'></tfoot>

    <small id='sYpsI'></small><noframes id='sYpsI'>

  • <legend id='sYpsI'><style id='sYpsI'><dir id='sYpsI'><q id='sYpsI'></q></dir></style></legend>

        为什么 JSR/RET 不推荐使用 Java 字节码?

        Why are JSR/RET deprecated Java bytecode?(为什么 JSR/RET 不推荐使用 Java 字节码?)

      1. <small id='g5gRs'></small><noframes id='g5gRs'>

        <i id='g5gRs'><tr id='g5gRs'><dt id='g5gRs'><q id='g5gRs'><span id='g5gRs'><b id='g5gRs'><form id='g5gRs'><ins id='g5gRs'></ins><ul id='g5gRs'></ul><sub id='g5gRs'></sub></form><legend id='g5gRs'></legend><bdo id='g5gRs'><pre id='g5gRs'><center id='g5gRs'></center></pre></bdo></b><th id='g5gRs'></th></span></q></dt></tr></i><div id='g5gRs'><tfoot id='g5gRs'></tfoot><dl id='g5gRs'><fieldset id='g5gRs'></fieldset></dl></div>
          <tbody id='g5gRs'></tbody>
              • <bdo id='g5gRs'></bdo><ul id='g5gRs'></ul>
                  <legend id='g5gRs'><style id='g5gRs'><dir id='g5gRs'><q id='g5gRs'></q></dir></style></legend>

                  <tfoot id='g5gRs'></tfoot>
                  本文介绍了为什么 JSR/RET 不推荐使用 Java 字节码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  有人知道为什么 JSR/RET 字节码对在 Java 6 中被弃用了吗?

                  Does anyone know why the JSR/RET bytecode pair is deprecated in Java 6?

                  我在网上找到的唯一有意义的解释是,它们使运行时的代码分析变得越来越难执行.有人知道其他原因吗?

                  The only meaningful explanation I found on the net was that they made code analysis by the runtime harder and slower to perform. Does anyone know another reason?

                  推荐答案

                  JSR 和 RET 使字节码验证比其他方式更困难,因为放宽了一些正常的字节码约束(例如在JSR 的入口).好处非常小(在某些情况下可能会使用更小的方法),并且验证器在处理奇怪的 JSR/RET 模式(以及潜在的安全漏洞,以及与完整验证相关的运行时成本)方面的持续困难使其成为一个无用的功能继续拥有.

                  JSR and RET make bytecode verification a lot more difficult than it might otherwise be due to the relaxation of some normal bytecode constraints (such as having a consistent stack shape on entry to a JSR). The upside is very minor (potentially slightly smaller methods in some cases) and the continuing difficulties in the verifier dealing with odd JSR/RET patterns (and potential security vulnerabilities, and the associated runtime cost of full verification) make it a non-useful feature to continue having.

                  堆栈映射和由于数据而启用的轻量级验证器在类加载期间实现了巨大的性能提升,同时又不牺牲安全性.

                  Stack maps and the lighter-weight verifier that is enabled as a result of the data are a big performance win during class loading for no sacrifice in safety.

                  这篇关于为什么 JSR/RET 不推荐使用 Java 字节码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Bytecode features not available in the Java language(Java 语言中不可用的字节码功能)
                  ClassCastException because of classloaders?(ClassCastException 因为类加载器?)
                  How can I add a Javaagent to a JVM without stopping the JVM?(如何在不停止 JVM 的情况下将 Javaagent 添加到 JVM?)
                  Cannot load 64-bit SWT libraries on 32-bit JVM ( replacing SWT file )(无法在 32 位 JVM 上加载 64 位 SWT 库(替换 SWT 文件))
                  Encourage the JVM to GC rather than grow the heap?(鼓励 JVM 进行 GC 而不是增加堆?)
                  Why a sawtooth shaped graph?(为什么是锯齿形图形?)

                      <tbody id='V5m3c'></tbody>
                    <legend id='V5m3c'><style id='V5m3c'><dir id='V5m3c'><q id='V5m3c'></q></dir></style></legend>

                    <small id='V5m3c'></small><noframes id='V5m3c'>

                  1. <i id='V5m3c'><tr id='V5m3c'><dt id='V5m3c'><q id='V5m3c'><span id='V5m3c'><b id='V5m3c'><form id='V5m3c'><ins id='V5m3c'></ins><ul id='V5m3c'></ul><sub id='V5m3c'></sub></form><legend id='V5m3c'></legend><bdo id='V5m3c'><pre id='V5m3c'><center id='V5m3c'></center></pre></bdo></b><th id='V5m3c'></th></span></q></dt></tr></i><div id='V5m3c'><tfoot id='V5m3c'></tfoot><dl id='V5m3c'><fieldset id='V5m3c'></fieldset></dl></div>

                    • <tfoot id='V5m3c'></tfoot>
                      • <bdo id='V5m3c'></bdo><ul id='V5m3c'></ul>