内存中保存了Java个ClassLoader实例

In which memory is saving Java ClassLoader instance

我想知道ClassLoader实例保存在哪里,在哪个内存中。它是保存在堆中还是在 permgen 中?如果我有一个自定义的 ClassLoader(例如 JasperReports 加载他自己的调用 JRClassLoader 的 ClassLoader),它的实例也会保存在堆内存或 permgen 中?

类加载器也不例外,所以:

  • ClassLoader实例在堆上创建,
  • ClassLoader class 与任何其他 class 一样,它是在 permgen 上创建的(直到 Java 7)