Java:对象池Pools

Posted bdmh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java:对象池Pools相关的知识,希望对你有一定的参考价值。

当我们创建了一些对象,又希望在某些时候重复使用,这样可以避免对象的频繁创建和引起垃圾回收,提高使用效率。这时,对象池就可以帮我们处理这个事情了。比如创建了几个数组,那我可以先把他们保存起来,需要使用时,从池子里取出来,存放新的数据或者复用数据都是可的。

对象池的代码也相对简单,具体来看一下:

Pools是一个final类。

public final class Pools

它里面有一个接口。

    public interface Pool<T> 

        /**
         * 返回池子里的一个对象,没有返回null.
         */
        @Nullable
        T acquire();

        /**
         * 向池子里放置一个对象,并返回这个对象.
         * 如果已经存在会返回错误
         */
        boolean release(@NonNull T instance);
    

Pools.java文件中包含两个静态类。

SimplePool


/**
    * 非线程安全的对象池,实现Pool接口
    */
public static class SimplePool<T> implements Pool<T> 
    //用来存储对象的数组
    private final Object[] mPool;
    //池子的容量
    private int mPoolSize;

    public SimplePool(int maxPoolSi

以上是关于Java:对象池Pools的主要内容,如果未能解决你的问题,请参考以下文章

Java:对象池Pools

Java线程池详解

java---连接池的学习

JAVA-初步认识-常用对象API(String类-常见功能-intern方法)

java线程池

unity对象池