Dispatcher servlet的转发方法占用大量CPU

时间:2014-05-28 13:06:05

标签: java spring performance servlets jetty

VisualVM向我展示了以下图片:

VisualVM screen

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

来自我的调用树的第一个forward()方法的源代码以某种方式占用CPU:

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

1 个答案:

答案 0 :(得分:0)

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

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