不使用框架的问题
1. 资源类对象在方法中new对象
问题
在项目中我们很多资源类的对象在方法中都会去新建对象,例如进入一个方法就创建对象,但是退出方法时,该对象就不可用了,就需要回收。
影响
这就会导致我们在调用方法时不停的去创建生命周期短的对象,增加了垃圾回收的负担,也就提升了Full GC的频率,用户线程暂停的时间就会更长,会大大影响执行效率。同时如果该资源类对象创建过程中比较耗费时间的话,,也会让整个程序的性能大打折扣。
2. 资源类对象之间互相有依赖关系
问题
不同的资源类对象之间可能会有引用、继承等相互依赖关系,这样会导致在新建一个对象时,可能会同时创建相关其他的对象。
例如:
public class A {
private B b;
}
public class B {
private C c;
}
假设我们要创建一个A的时候,我就需要初始化一个B对象,但初始化B的时候,我们还需要再去初始化C,如果C对象中还存在依赖对象时,就依次类推,不断地新建有依赖关系的对象。
影响
每个方法创建资源类对象的时候,都需要手动绑定属性,如果其中一个地方出错,那他的连带效果就会对整个程序产生影响。这样耦合性过高,假设需要调整其中某个属性的内容时,就需要更多部分的代码,会让开发变得更加复杂。