我意识到Java代码在调试器中运行时会变慢。
问题是,是否可以通过使用以下选项启动Java来简化代码:
Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n
??
还是仅当您连接到“调试端口”并实际上使用IDE逐步执行代码时才会发生减速?
首先,要严格回答您的问题(至少如其标题所述),-Xdebug仅在5.0之前的JVM中使用JVMDI在 VM中启用调试支持 。因此,它本身并没有太大作用。此外,JVMDI是因为5.0不赞成赞成JVMTI:
-Xdebug
- Xdebug的 启动与支持JVMDI启用。JVMDI已被弃用,在J2SE 5.0中不用于调试,因此在J2SE 5.0中调试时不需要此选项。
所以-Xdebug不再做任何事情,重要的部分是:
-Xrunjdwp:<name1>[=<value1>],<name2>[=<value2>]...
或者,从Java 5.0开始,较新的版本(您最好在5.0中作为JDWP代理使用该VM的JVM TI接口,而不是较旧的JVMDI接口):
--agentlib:jdwp=<name1>[=<value1>],<name2>[=<value2>]...
现在,据我所知,仅加载jwdp代理和/或配置JVM以侦听给定端口上的套接字连接不会对性能产生任何明显影响。但是连接调试器确实可以。