美文网首页
如果你问我js对象池

如果你问我js对象池

作者: 冇得感情 | 来源:发表于2020-01-11 22:42 被阅读0次

基本理念:  创建时屏蔽获取细节,对象在当前生命周期终结时入池。

优点: 

1.动态修改对象属性比创建对象的开销小(体现在内存上)

2.复用池中对象,消除创建对象、回收对象 所产生的内存开销、cpu开销以及(若跨网络)产生的网络开销.

缺点

1.由于池中对象的数量有限, 势必成为一个可伸缩性瓶颈;

2.很难正确的设定对象池的大小, 如果太小则起不到作用, 如果过大, 则占用内存资源高,

常见的使用对象池有:在使用socket时(包括各种连接池)、线程等等

1)创建时:

var objA = Pool.getItemByCreateFun("SYMBOL_A", createFun); //直接创建或从池中获取

其中,Pool内部维护了一个字典,getItem时即是在字典中查找对象,若对象不存在,就在createFun进行创建;

注意,此时新创建的对象并不会直接入池!!而是直接返还给调用者

2)销毁时:

Pool.recover("SYMBOL_A", objA);//入池

objA.removeSelf;//从父节点移除

objA = null;//业务代码(若宿主对象也要重复利用的话)

当对象在当前环境生命周期结束时,对象池对其进行回收;

相关文章

  • 如果你问我js对象池

    基本理念: 创建时屏蔽获取细节,对象在当前生命周期终结时入池。 优点: 1.动态修改对象属性比创建对象的开销小(...

  • 如果你问我

    说是遥远的秋的回忆 说是忧愁的春的故里 如果你问我冬天的秘密 那是白云的心意 如果你问我天涯的距离 那是与海角相戚...

  • 如果你问我

    如果你问我 想一直当你的孩子吗? 我会开心的点点头 想,想一直做你的孩子 在你的怀里撒娇 在你的肩膀欢笑 在你的微...

  • 如果你问我

    今天是女生节,是你生命中最后一个女生节了,因为明年的明天,你将过另一个属于你的节日。 ...

  • 你如果问我

    你如果问我,人们应该如何生活才好。我说,就顺着自然所给的本性生活就好,像山石清泉,像草木峰岩,像风花雪月,...

  • 如果你问我

    你问我 是否有把荒年翻新了去过 学会拾掇好房间里散落的狼藉 变得竟比哀婉的海棠落拓 其实我啊 早已不是夜阑人静时孱...

  • 如果你问我

    如果你问我:“世间什么最宝贵?” “不是天才,不是智慧, 最宝贵的是你的爱。” 如果你问我:“如何方使你满足?” ...

  • 你如果问我

    小鸟飞来,问我在干什么? 我说我在思考啊。 小鸟啾啾啾说,我准备飞过那座大山,你也一起吧。 我说我不会飞啊。 小鸟...

  • 如果你问我

    如果你问我 我的童年在哪度过 我会告诉你 童年在烧草木灰堆旁度过 蚕豆,谷粟,红薯 所有能让稚嫩脸庞发光的 不止是...

  • 你了解线程池吗

    前言 如果有人问我:“你了解Java线程池吗”,我不打算回答Java中常用的几种线程池,也记不住。从线程池的上层A...

网友评论

      本文标题:如果你问我js对象池

      本文链接:https://www.haomeiwen.com/subject/umnbactx.html