有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

记录器导致的java内存泄漏

Iread以下代码导致内存泄漏,因为级别类从类加载器外部持有对CUSTOMLEVEL成员的引用:

public class LeakServlet extends HttpServlet {
  private static final String STATICNAME = "This leaks!";
  private static final Level CUSTOMLEVEL = new Level("test", 550) {}; // anon class!

  protected void doGet(HttpServletRequest request, HttpServletResponse response)
                 throws ServletException, IOException {
      Logger.getLogger("test").log(CUSTOMLEVEL, "doGet called");
  }
}

问题是如何在这个特定的类装入器之外装入Level类
我可以在java API中有其他类似行为的实例吗


共 (1) 个答案

  1. # 1 楼答案

    有很多关于类加载器泄漏的来源:This part在关于这个问题的博客系列中,列举了一些罪魁祸首