最近在写编辑器(Java+JOGL)的碰撞检测模块,检测函数中,需要用到大量的临时对象,Vector3f, Matrix4f,诸如此类; Java本来就慢,如果我们毫无顾忌的使用 new, 真的是不好意思。。。幸好发现了这个ObjectPool的概念,虽然很简单,但很实用。
使用方法如下
恩,所有的临时对象都不是new,而是从object pool中取得一个引用;如果pool里没有了,才实行new操作;
最重要的一点是,使用完毕后,一定要归还啊,否则就会造成类似C/C++中的内存泄漏,pool中可用元素越来越少。。

本文介绍了一种用于提高Java游戏开发效率的方法——对象池技术。通过复用临时对象而非频繁创建和销毁,该技术有效减少了垃圾回收的压力。文章提供了一个具体的Vector3f对象池实现案例,并展示了如何在碰撞检测模块中应用这一技术。
629

被折叠的 条评论
为什么被折叠?



