有个问题一直解决不了,面试题目,回来后一直没想通,希望有人能给出答案。
已知有一个类MyBean,类文件如下:
public class MyBean { Object midData; /*中间数据,用来存放多个业务方法之间业务数据*/ public MyBean () { init(); }
public init(){ //进行相应的初试化工作,非常耗费资源 }
// 其他的应用方法… }
由于生成一个MyBean的实例非常耗费资源,而且我们的应用频繁生成和销毁,造成效率很低。因此我们需要设计一个MyBean的池,从而用来缓存一定数量MyBean的实例。这样其他类来使用MyBean的时候就可以直接从MyBeanPool中取已经生成的MyBean MyBeanPool包括如下基本的功能: 能够设置池中MyBean实例的个数 能够生成MyBean实例 能够获取一个MyBean的实例 当不需要使用时,可以释放这个实例
(MyBean有状态的:也就是多个方法之间需要通过) 请你写出MyBeanPool的实现。