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

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

        <bdo id='zVXQD'></bdo><ul id='zVXQD'></ul>
      <tfoot id='zVXQD'></tfoot>

      1. 在运行时设置 JVM 参数

        时间:2023-08-24
      2. <legend id='pglBo'><style id='pglBo'><dir id='pglBo'><q id='pglBo'></q></dir></style></legend>

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

              <tbody id='pglBo'></tbody>
            <tfoot id='pglBo'></tfoot>
                <bdo id='pglBo'></bdo><ul id='pglBo'></ul>

                  <i id='pglBo'><tr id='pglBo'><dt id='pglBo'><q id='pglBo'><span id='pglBo'><b id='pglBo'><form id='pglBo'><ins id='pglBo'></ins><ul id='pglBo'></ul><sub id='pglBo'></sub></form><legend id='pglBo'></legend><bdo id='pglBo'><pre id='pglBo'><center id='pglBo'></center></pre></bdo></b><th id='pglBo'></th></span></q></dt></tr></i><div id='pglBo'><tfoot id='pglBo'></tfoot><dl id='pglBo'><fieldset id='pglBo'></fieldset></dl></div>
                  本文介绍了在运行时设置 JVM 参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  是否可以在 JVM 已经加载(运行)之后更改/修改/添加 VM 参数?如果是这样,我该怎么做?

                  Is it possible to change/modify/adding VM parameters after the JVM is already loaded (running)? If so, how can I do it?

                  推荐答案

                  对于您通过命令行上的 -D 标志设置的属性,您需要 System.setProperty.例如:

                  For properties you'd set via the -D flag on the command line, you want System.setProperty. For example:

                  System.setProperty("propname", "hello world");
                  
                  // ... later ...
                  String value = System.getProperty("propname");
                  

                  更新:

                  您不能动态启用调试,但您可以在启动时启用调试但稍后附加调试器.通过以下操作,您可以监听端口 12345 并立即启动程序运行(通过 suspend=n).然后,您可以在需要时附加调试器,分离调试器,稍后再附加,等等.

                  You can't enable debugging dynamically, but you can enable debugging at startup but attach a debugger later. With the following, you can listen on port 12345 and start your program running right away (via suspend=n). Then you can attach a debugger if/when you need to, detach the debugger, attach again later, etc.

                  -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=12345
                  

                  当然,即使没有附加调试器,这也会影响性能,因此它只能在开发/测试代码中运行良好,而不是在生产环境中运行.为此,您需要记录,例如log4j.

                  Of course, this hurts performance even when the debugger isn't attached, so it only works well in dev/test code, not production. For that, you want logging, e.g. log4j.

                  这篇关于在运行时设置 JVM 参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:Java 无法为对象堆错误保留足够的空间 下一篇:JVM 什么时候加载类?

                  相关文章

                  <legend id='jidRQ'><style id='jidRQ'><dir id='jidRQ'><q id='jidRQ'></q></dir></style></legend>

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

                • <small id='jidRQ'></small><noframes id='jidRQ'>

                  <tfoot id='jidRQ'></tfoot>