在一些复杂系统里,相信很多人都使用了诸如WindSor、AutoFac之类的IOC容器,
来方便管理系统内的对象依赖问题,我想问问,实现了IDisposable接口的对象,在
Resolve之后是否有必要手动释放资源,还是说容器内部根据实现的Transient、Singleton,通过GC来释放,不过在性能要求高的环境下,让GC来管理貌似有点不太合理?
spring 中对于对象基本有两种,prototype 和Singleton
我的理解,对于prototype 类的对象,在使用过后会立即释放,这种可以通过手动或者GC,具体spring是怎么实现的,我猜测是手动
对于Singleton,在使用过后是不会释放的,因为需要以后再次使用,为了防止被GC,spring 一定采用某种方式,让它进入老年代
我只知道有这种逻辑可以实现,但是具体实现方法可能需要去研究具体的代码了
结贴了,经过几次编写测试案例,发现必须要手动调用IOC框架提供的Release接口才会释放对象资源,否则IOC框架会交给GC决定权,对象资源不及时释放可能会对系统性能有影响