`

Apache 开源软件学习

阅读更多

 

重要摘要

 

对象池化技术

对象池化的基本思路是:将用过的对象保存起来,等下一次需要这种对象的时候,再拿出来重复使用,从而在一定程度上减少频繁创建对象所造成的开销。用于充当保存对象的“容器”的对象,被称为“对象池”(Object Pool,或简称Pool)。

对于没有状态的对象(例如String),在重复使用之前,无需进行任何处理;对于有状态的对象(例如StringBuffer),在重复使用之前,就需要把它们恢复到等同于刚刚生成时的状态。由于条件的限制,恢复某个对象的状态的操作不可能实现了的话,就得把这个对象抛弃,改用新创建的实例了。

并非所有对象都适合拿来池化――因为维护对象池也要造成一定开销。对生成时开销不大的对象进行池化,反而可能会出现“维护对象池的开销”大于“生成新对象的开销”,从而使性能降低的情况。但是对于生成时开销可观的对象,池化技术就是提高性能的有效策略了。

 

 

PoolableObjectFactory、ObjectPool和ObjectPoolFactory

在Pool组件中,对象池化的工作被划分给了三类对象:

PoolableObjectFactory用于管理被池化的对象的产生、激活、挂起、校验和销毁;

ObjectPool用于管理要被池化的对象的借出和归还,并通知PoolableObjectFactory完成相应的工作;

ObjectPoolFactory则用于大量生成相同类型和设置的ObjectPool。

相应地,使用Pool组件的过程,也大体可以划分成“创立PoolableObjectFactory”、“使用ObjectPool”和可选的“利用ObjectPoolFactory”三种动作。


 

commons-pool-1.6包:对象池技术以后似乎可以用到开发中来

 


Commons-Digester、javassist简介

commons-io
分享到:
评论

相关推荐

    开源软件之道(中文高清版)

    第1篇 了解开源软件 第1章 开源软件概述 1.1 开源软件的理解 1.2 开源软件的定义 1.3 开源软件定义的意义 1.4 开源软件和其他类型软件的比较 第2章 开源软件的历史与未来 2.1 开源软件的历史 2.2 开源运动背后的...

    开源软件之道.part2of2

    第1篇 了解开源软件 第1章 开源软件概述 2 1.1 开源软件的理解 2 1.2 开源软件的定义 3 1.3 开源软件定义的意义 5 1.4 开源软件和其他类型软件的比较 6 第2章 开源软件的历史与未来 9 2.1 开源软件的历史 9 2.2 开源...

    apache开源分布式分析引擎软件kylin实战教程 (完整视频+课件+代码+软件工具)

    Kylin架构和原理 Kylin安装和配置 数据集成和ETL处理 数据建模和多维分析设计 查询优化和性能调优 ...通过这些主题的学习,您可以了解到Kylin的基本特点和使用方法,并且可以将其应用于实际的数据分析任务中。

    2020 OSCAR 云计算开源产业大会PPT合集.zip

    开源软件活跃度在开源治理中的应用 开源生态白皮书 开源与专利 企业级开源治理方案演进之路 微众银行的开源创新之路 现代应用程序开发的开源安全与风险 以APISIX为例,如何从零运营一个Apache顶级项目和开源社区 云...

    apache配置学习文档

    开源软件apache的配置文档 对于初学者还不错

    JSH_ERP开源进销存软件 v1.0.2

    JSH_ERP开源进销存软件是一个完整开源版的J2EE进销存系统代码。很多人说jshERP是目前唯一完整开源的进销存系统虽然目前只有进销存+财务的功能,但后面将会推出ERP的全部...遵守Apache2.0协议JSH_ERP开源进销存软件 v1.0

    jshERP开源进销存软件

    jshERP完整开源版J2EE代码 很多人说jshERP是目前唯一完整开源的进销存系统 虽然目前只有进销存+财务的功能,但后面将会推出ERP的全部功能,大家一起努力吧 ...开发初衷 ...本系统100%开源,遵守Apache2.0协议

    零成本实现Web性能测试:基于Apache JMeter

     本书内容丰富、知识点讲解透彻,适合软件测试工程师、测试经理、高等院校相关专业的学生参考学习,同时也可作为相关培训班的教材。 目录: 《零成本实现web性能测试:基于apache jmeter》 第1章 性能测试基础 1 ...

    phpStudy【Apache/PHP/MySQL/ZendOptimizer一键安装】 V1.75 简体中文版

    Apache 2.2.8 最流行的HTTP服务器软件,快速、可靠、开源。 MySQL 5.0.45 执行性能高,运行速度快,容易使用,非常棒数据库。 ZendOptimizer 3.3.0 免费的PHP优化引擎,性能提高30%以上。 OpenSSL 0.9.8g 密码算...

    大数据开源框架集锦.pdf

    sqoop 数据迁移⼯具,⽤来在不同数据存储软件之间进⾏数据传输的开源软件 DataX 阿⾥巴巴开源的离线数据同步⼯具,⽤于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间...

    Apache MXNet (incubating):灵活高效的深度学习库-开源

    Apache MXNet是一个开源深度学习框架,旨在用于高效灵活的研究原型设计和生产。 它包含一个动态依赖项调度程序,该程序自动并行化符号和命令式操作。 在此之上是图形优化层,总体上使MXNet高效,但仍可移植,轻便且...

    apache-jmeter-5.5.zip

    Apache JMeter是一个开源的负载测试工具,用于对软件和服务进行性能测试。它可以模拟多种类型的负载,并提供了丰富的功能和灵活的配置选项。 以下是关于Apache JMeter的一些介绍和演示: 1. 下载和安装Apache ...

    phpstudy Apache PHP MySQL phpMyAdmin ZendOptimizer

    Apache 2.2.13 最流行的HTTP服务器软件,快速、可靠、开源。 MySQL 5.0.85 执行性能高,运行速度快,容易使用,非常棒数据库。 phpMyAdmin 3.2.2 开源、基于WEB而小巧的MySQL管理程序。 ZendOptimizer 3.3.3 免费...

    Jmeter-Java接口自动化学习文档.rar

    Apache JMeter是开源软件,它可以用来做负载测试和性能测试。它最初设计是用来测试Web应用程序,但现已扩展到其他测试功能。 Apache JMeter可以用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java ...

    Nginx:取代apache的高性能服务器

    第2部分为进阶篇,重点介绍了Nginx的配置优化方法、Nginx与PHP/Ruby/Python/JSP/Perl/Memcached的结合配置方法、Nginx HTTP反向代理与负载均衡的配置与优化、Nginx模块开发等,最后还分析了新浪的开源软件项目──...

    apache-tomcat-8.5.39-src:原始语言学习:apache-tomcat-8.5.39-src

    ApacheTomcat:registered:软件是Java Servlet,JavaServer Pages,Java Expression Language和Java WebSocket技术的开源实现。 Java Servlet,JavaServer Pages,Java Expression Language和Java WebSocket规范是...

    apache-tomcat-8.5.37-src:原始学习

    ApacheTomcat:registered:软件是Java Servlet,JavaServer Pages,Java Expression Language和Java WebSocket技术的开源实现。 Java Servlet,JavaServer Pages,Java Expression Language和Java WebSocket规范是...

    autoware.ai:自动驾驶汽车的开源软件

    是世界上第一个用于自动驾驶汽车的“多合一”开源软件。 Autoware的功能主要适合于城市,但也可以涵盖高速公路,高速公路,中山地区和地理围栏地区。 Autoware的代码库受Apache 2许可证保护。 请自行决定使用它。 ...

    JAVA上百实例源码以及开源项目

    笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此...

    PHP环境配置集成软件

    Apache 2.2.8 最流行的HTTP服务器软件,快速、可靠、开源。 MySQL 5.0.51b 执行性能高,运行速度快,容易使用,非常棒数据库。 phpMyAdmin 2.11.6 开源、基于WEB而小巧的MySQL管理程序。 ZendOptimizer 3.3.0 ...

Global site tag (gtag.js) - Google Analytics