java - 为什么 Java 代码在调试器中变慢?

标签 java debugging jboss intellij-idea

一些 CPU 密集型例程在通过调试器运行时会显着变慢。为什么是这样?

目前我只是使用 IntelliJ 来逐步执行在 JBoss 中运行的代码。当我启动 JBoss 时,我使用以下选项:

set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxPermSize=256m -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n %JAVA_OPTS%

有没有办法加快执行速度?或者加快某些我不需要逐步执行的方法执行?


更新:似乎如果我不跳过/进入 CPU 密集型例程(即:只运行到在例程之后设置断点),那么执行时间就好像不在一个调试器。

最佳答案

Some CPU intensive routines get dramatically slower when run through a debugger. Why is this?

因为启用调试时,JITter 不会优化代码(通常,根本不会)。

关于java - 为什么 Java 代码在调试器中变慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2195720/

相关文章:

java - 在没有数学函数或对数函数的情况下查找数字是否是 2 的幂

java - 在 javafx 中显示工具提示将其舞台置于前台

java - 递归爬楼梯算法

debugging - 使用 gdb 中的函数调用堆栈进行导航

java - 在支持 bean (SEAM) 中启用 hibernate 过滤器

java - Spring + hibernate : NoSuchMethodError on JBoss logging

java - 使用 Java 检查开放端口

java - 装饰器模式(我可能滥用)的问题

javascript - 是否可以检测导致页面重新加载的操作?

web-services - RESTEasy相对于Apache CXF的优势?