【问题标题】:Dispatcher servlet's forward method takes much CPUDispatcher servlet 的转发方法占用大量 CPU
【发布时间】:2014-05-28 13:06:05
【问题描述】:

VisualVM 显示如下图片:

为什么它显示 Disstatcher servlet 的 forward() 方法占用了大部分 CPU?我查看了源代码,我的调用树中的第一个 forward() 方法只是调用了另一个带有附加参数的 forward() 方法。我不明白它如何占用CPU。请帮忙。

我的调用树中第一个 forward() 方法的来源,它以某种方式占用了 CPU:

public void forward(ServletRequest request, ServletResponse response) throws ServletException, IOException
{
    forward(request, response, Handler.FORWARD);
}

【问题讨论】:

    标签: java spring performance servlets jetty


    【解决方案1】:

    这是因为每个转发都涉及一个 RequestDispatcher,它可以定位您要转发到的磁盘上的资源。调用转发时,不一定所有资源(JSP 等)都缓存在内存中。

    随后它还需要处理您要转发到的 JSP 或 servlet。我没有看到任何其他原因。

    【讨论】:

      猜你喜欢
      • 2021-08-21
      • 1970-01-01
      • 2022-10-20
      • 2015-05-27
      • 2014-12-11
      • 2012-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多