[回收机制] EvictionConfig - 此类用于将对象池的配置信息传递给驱逐回收策略(EvictionPolicy)实例

此类是不可变的，且是线程安全的。

private final long idleEvictTime：池对象的最大空闲驱逐时间（当池对象的空闲时间超过该值时，立马被强制驱逐掉）
private final long
idleSoftEvictTime：池对象的最小空闲驱逐时间（当池对象的空闲时间超过该值时，被纳入驱逐对象列表里）
private final int minIdle：对象池的最小空闲池对象数量

public EvictionConfig(long poolIdleEvictTime, long
poolIdleSoftEvictTime, int minIdle)：创建一个新的"驱逐回收策略"配置实例。
实例是不可变的。

3个属性的getter方法...
[回收机制] EvictionPolicy<T> - 为了提供对象池的一个自定义"驱逐回收策略"，
使用者必须提供该接口的一个实现(如DefaultEvictionPolicy)

boolean evict(EvictionConfig config, PooledObject<T> underTest, int
idleCount)：如果对象池中的空闲对象是否应该被驱逐，调用此方法来测试。（驱逐行为实现）
如果池对象应该被驱逐掉，就返回true；否则，返回false。