VisualVM向我展示了以下图片:
为什么它表明Distatcher servlet的forward()方法占用了大部分CPU?我查看了源代码,我的调用树中的第一个forward()方法只是使用附加参数调用另一个forward()方法。我不知道它如何占用CPU。请帮忙。
来自我的调用树的第一个forward()方法的源代码以某种方式占用CPU:
public void forward(ServletRequest request, ServletResponse response) throws ServletException, IOException
{
forward(request, response, Handler.FORWARD);
}
答案 0 :(得分:0)
因为每个转发都涉及一个RequestDispatcher,它定位您要转发到的磁盘上的资源。在调用转发时,并不一定所有资源(JSP等)都缓存在内存中。
随后,它还需要处理您要转发的JSP或servlet。我没有看到任何其他原因。