
1. spring bean 生命周期
1. 实例化一个bean ,即new
2. 初始化bean 的属性
3. 如果实现接口 BeanNameAware ,调用 setBeanName
4. BeanFactoryAware 调用 setBeanFactory
5. ApplicationContextAware 调用 setApplicationContext
6. BeanPostProcesser 调用 postProcesserBeforeInitialization
7. 调用 init-method
8 BeanPostProcesser 调用 postProcesserAfterInitialization
9. 在容器关闭时,如果继承了 DisposableBean 接口 ,调用 destory 方法
10. 调用 destory-method
oom?
java.lang.OutOfMemoryError: java head space 堆内存溢出
java.lang.OutOfMemoryError: Permgen space java永生代溢出, 即方法去溢出,一般是因为出现大量的Class和jsp ,或者采用cglib 反射机制的情况,
此种情况可以通过更改方法区的大小来解决,使用类似-XX:PermSize=64m -XX:MaxPermSize=256m的形式修改。另外,过多的常量尤其是字符串也会导致方法区溢出。