我在代码中使用Java反射,代码如下:
Method method = LogFactory.class.getDeclaredMethod("getContextClassLoader");
method.setAccessible(true);
ClassLoader classLoader = (ClassLoader)method.invoke(null);
LogFactory.release(classLoader);
我使用
jprofiler
可以看到很多类,比如这个: sun.reflect.GeneratedMethodAccessor11
。
每次调用都会增加这些类的数量。
sun.reflect.BootstrapConstructorAccessorImpl
sun.reflect.NativeConstructorAccessorImpl
sun.reflect.DelegatingConstructorAccessorImpl
sun.reflect.DelegatingClassLoader
我认为这就是导致PermGen空间增加的原因,如何清理这些类呢?