对象池化是目前常用的一种系统优化的技术。通俗的说也就是一个对象不用多次的被实例化,来消耗性能,可以把这些常用的类放入一个池中,当需要的时候在去池里去拿去,不用的时候 在放入池中。可以叫做对象池。他可以是一个数组或者一个其他的集合。

咱们平常接触的池中比较多的应该是:数据库连接池、线程池了。我想大家都知道创建一个对象和销毁一个对象都是一个很费时的工作。还有数据库的建立连接和销毁连接这些相对而言都是重量级的操作,所以来说,避免这些操作,对于改善系统的性能也有积极意义。也就是说,有效的使用者两种技术,可以有效的改善系统在高并发下的性能。任何对性能敏感的系统,都需要考虑合理的配置这连个组件。较常见的数据库连接池有c3p0、dbcp、bonecp。

在jdk中,new这个操作的使用效率是想当高的,不需要担心频繁的的new 操作对系统有性能的影响。但是new操作时所调用的类构造函数可能是非常费时的,对于这些对象,可以考虑池化。

但是呢,不是池化都很好,任何东西都有一个平衡点,只有对那些重量级对象使用对象池技术才能提高系统的性能,对轻量级的对象使用对象池技术,可能会起到反面的效果,从而影响性能。

以上说的有些不是很清楚,希望大家指点。

用池来提升对象的复用相关推荐

  1. 深入研究池化技术——对象池

    池化技术 池化技术是性能调优的重要措施,池化的思想是把对象放到池子里,当要使用的时候,从池子里面拿对象,用完后再放回池子里,这样可以降低资源分配以及释放的开销,从而提升性能,在实际项目中,其实我们每天 ...

  2. 实现对象的复用——享元模式

    本文转载自 :http://blog.csdn.net/lovelion/article/details/7667781 当前咱们国家正在大力倡导构建和谐社会,其中一个很重要的组成部分就是建设资源节约 ...

  3. java 对象池 实现_Java对象池技术的原理及其实现

    看到一片有关于java 对象基础知识,故转载一下,同时学习一下. 摘 要 本文在分析对象池技术基本原理的基础上,给出了对象池技术的两种实现方式.还指出了使用对象池技术时所应注意的问题. 关键词 对象池 ...

  4. 对象池 GenericObjectPool 通用对象池

    透明代理的使用 在对后端的连接中使用对象池(backend是一个池子 里面是一个域名的连接) 使用需要用到的组件 GenericObjectPool.Config DefaultChannelGrou ...

  5. python调用libs.dbutil_Python 使用 PyMysql、DBUtils 创建连接池,提升性能

    Python 编程中可以使用 PyMysql 进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接 MySQL 数据库请求时,都是独立的去请求访问,相当浪费资源,而且访问数量达到一定数量时,对 ...

  6. datasnap 2011连接池,数据集对象池

    那种往应用服务器中拖放一堆TDataSet, TDaTaSetProvider控件的做法,非常的笨拙.可以通过使用对象池来改进之. 数据集对象池 unit ServerMethodsUnit1; in ...

  7. 用观察者模式编写一个可被其他对象拓展复用自定义事件系统

    观察者模式 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知 什么是观察者模式? 发布-订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对 ...

  8. 手把手写C++服务器(31):服务器性能提升关键——IO复用技术【两万字长文】

    本系列文章导航: 手把手写C++服务器(0):专栏文章-汇总导航[更新中] 前言: Linux中素有"万物皆文件,一切皆IO"的说法.前面几讲手撕了CGI网关服务器.echo回显服 ...

  9. 实现对象的复用——享元模式(三):围棋棋子的解决方案

    14.3 完整解决方案 为了节约存储空间,提高系统性能,Sunny公司开发人员使用享元模式来设计围棋软件中的棋子,其基本结构如图14-4所示: 在图14-4中,IgoChessman充当抽象享元类,B ...

最新文章

  1. python之XML文件解析
  2. Chart.js-线形图分析(参数分析+例图)
  3. POJ 3660 Cow Contest [Floyd]
  4. boost::mpl模块实现insert相关的测试程序
  5. LeetCode—209. 长度最小的子数组
  6. js之ActiveX控件使用说明 new ActiveXObject()
  7. react-native踩坑的开始!
  8. 物联网形势大好,传感器前景可观
  9. MySQL 数值拼接字符串
  10. python扫雷总结与体会_扫雷项目总结
  11. ITIL服务管理知识体系的介绍
  12. 手机网页通过js打开app
  13. java菜鸟mysql_十面阿里,菜鸟,天猫,蚂蚁金服面试精选73题:Java+Spring+MySQL+JVM.......
  14. pubwinol免刷_Pubwin万象OL实名一键自动处理程序
  15. 荣耀MagicOS 7.0正式发布 打造以人为中心的智慧生活解决方案
  16. 解决VMware安装后网络连接中没有VMnet虚拟网络适配器
  17. UE4 C++入门之路1-C++和蓝图的关系和介绍
  18. Echarts不显示X轴Y轴网格线
  19. C语言中如何求幂函数
  20. 史上最详细店铺运营方案,新手必看!

热门文章

  1. L1为什么具有稀疏性
  2. docker开启远程访问_Ubuntu安装Jupyter notebook——开启远程访问
  3. mysql用户数据导入_MySQL添加用户、删除用户与授权和数据的导入导出
  4. linux系统如何安装其他包,Linux系统下如何安装软件包
  5. mysql二维数组vb_VBA链接MYSQL的帮助类
  6. Conda环境搭建记录
  7. 天翼云从业认证(4.12) 天翼云医疗行业解决方案
  8. openssl 生成证书相关符号意义
  9. 笔记-项目进度管理-复习要点
  10. Windows中启动Redis走配置文件的bat脚本