spring bean 生命周期和 ? 作用域? spirng bean 相互依赖? jvm oom ? jvm 监控工具? ThreadLocal 原理

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的形式修改。另外,过多的常量尤其是字符串也会导致方法区溢出。

posted on 2018-04-17 22:36  远方的人  阅读(155)  评论(0编辑  收藏  举报

导航