博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java-对象池
阅读量:5049 次
发布时间:2019-06-12

本文共 958 字,大约阅读时间需要 3 分钟。

  对象池使用的基本思路是:将用过的对象保存起来,等下一次需要这种对象的时候,再拿出来重复使用,从而在一定程度上减少频繁创建对象所造成的开销。 并非所有对象都适合拿来池化――因为维护对象池也要造成一定开销。对生成时开销不大的对象进行池化,反而可能会出现“维护对象池的开销”大于“生成新对象的开销”,从而使性能降低的情况。但是对于生成时开销可观的对象,池化技术就是提高性能的有效策略了。下面是构建对象池的一个例子:

public class ObjectPool {         private int numObjects = 10; // 对象池的大小         private int maxObjects = 50; // 对象池最大的大小         private Vector objects = null; //存放对象池中对象的向量( PooledObject类型)             public ObjectPool() {                }             /*** 创建一个对象池***/         public synchronized void createPool(){             // 确保对象池没有创建。如果创建了,保存对象的向量 objects 不会为空             if (objects != null) {                 return; // 如果己经创建,则返回             }                 // 创建保存对象的向量 , 初始时有 0 个元素             objects = new Vector();                 // 根据 numObjects 中设置的值,循环创建指定数目的对象             for (int x = 0; x < numObjects; x++) {                if ((objects.size() == 0)&&this.objects.size() 

 

转载于:https://www.cnblogs.com/hwaggLee/p/4509006.html

你可能感兴趣的文章
HDU 1028 Ignatius and the Princess III(母函数)
查看>>
(转)面向对象最核心的机制——动态绑定(多态)
查看>>
token简单的使用流程。
查看>>
django创建项目流程
查看>>
UIActionSheet 修改字体颜色
查看>>
Vue 框架-01- 入门篇 图文教程
查看>>
Spring注解之@Lazy注解,源码分析和总结
查看>>
多变量微积分笔记24——空间线积分
查看>>
Magento CE使用Redis的配置过程
查看>>
poi操作oracle数据库导出excel文件
查看>>
(转)Intent的基本使用方法总结
查看>>
Mac 下的Chrome 按什么快捷键调出页面调试工具
查看>>
Windows Phone开发(24):启动器与选择器之发送短信
查看>>
JS截取字符串常用方法
查看>>
Google非官方的Text To Speech和Speech Recognition的API
查看>>
stdext - A C++ STL Extensions Libary
查看>>
Django 内建 中间件组件
查看>>
bootstrap-Table服务端分页,获取到的数据怎么再页面的表格里显示
查看>>
进程间通信系列 之 socket套接字及其实例
查看>>
天气预报插件
查看>>