最近在研究apache里面所有的common的源代码,并且在源码基础上编写测试的例子
源码的下载地址 http://download.csdn.net/detail/m47838704/9511153

UserInfo.java

package mh.test;public class UserInfo {private String name;private int age;public UserInfo() {// TODO Auto-generated constructor stub}public UserInfo(String name, int age) {// TODO Auto-generated constructor stubthis.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {// TODO Auto-generated method stubreturn "用户名:"+this.name+",年龄:"+this.age;}
}

UserFactory.java

package mh.test;import org.apache.commons.pool2.PooledObject;
import org.apache.commons.pool2.PooledObjectFactory;
import org.apache.commons.pool2.impl.DefaultPooledObject;public class UserFactory implements PooledObjectFactory<UserInfo>{@Overridepublic PooledObject<UserInfo> makeObject() throws Exception {// TODO Auto-generated method stubSystem.out.println("创建一个新的对象");return new DefaultPooledObject<UserInfo>(new UserInfo());}@Overridepublic void destroyObject(PooledObject<UserInfo> p) throws Exception {// TODO Auto-generated method stubUserInfo user = p.getObject();System.out.println("销毁对象"+user.toString());user = null;}@Overridepublic boolean validateObject(PooledObject<UserInfo> p) {// TODO Auto-generated method stubif(p.getObject() instanceof UserInfo){System.out.println("是一个合法的对象");return true;}System.out.println("是一个非法的对象");return false;}@Overridepublic void activateObject(PooledObject<UserInfo> p) throws Exception {// TODO Auto-generated method stubSystem.out.println("重新初始化对象");}@Overridepublic void passivateObject(PooledObject<UserInfo> p) throws Exception {// TODO Auto-generated method stubUserInfo user = p.getObject();System.out.println("对象已经被归还:"+user.toString());}}

TestPool.java

package mh.test;import org.apache.commons.pool2.impl.GenericObjectPool;public class TestPool {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubGenericObjectPool<UserInfo> pool = new GenericObjectPool<UserInfo>(new UserFactory());try {UserInfo user = pool.borrowObject();user.setAge(10);user.setName("mh");System.out.println(user.toString());pool.returnObject(user);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

Common-pool源码编译——小例子相关推荐

  1. 小明分享| SigmastarSSD201环境搭建及源码编译

    本文以目前最新版本(TAKOYAKI_DLS00V008)的 SDK 为例,讲述 SigmastarSSD201/202 环境搭建 源码下载 下载 kernel 源码 从 https://mirror ...

  2. java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实

    好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...

  3. 写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实

    好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...

  4. 如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文主要介绍如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib. OpenC ...

  5. Tomcat8源码编译及导入Eclipse中研究

    最近因为需求需要修改Tomcat中的某些功能,无奈只能研究那部分源码然后稍作修改. 目前Tomcat最新版是8.0,下载了源码包,编译并导入Eclipse中研究比较方便. 1. Tomcat8源码编译 ...

  6. PHP 8.0 源码编译安装 JIT 尝鲜

    女主宣言 今天小编为大家分享一篇最简化的 PHP 8 源码编译安装方法.PHP 8.0 Alpha 1 已经在2020年6月25号发布了,今天带领大家快速尝鲜 PHP 8.0 的新特性 JIT.希望能 ...

  7. 07-PDI(Kettle)源码编译8.2.0.0.R版本

    文章目录 07-PDI(Kettle)源码编译8.2.0.0.R版本 1.安装PDI8.2.0.0.R的parent工程到本地 1.1配置Maven的settings.xml文件 1.2安装PDI源码 ...

  8. LNMP架构的搭建——源码编译(PHP,nginx,Mysql)

    一.源码编译 在企业中,我们常常是需要什么模块才会添加什么模块,而源码编译就可以让我们按需安装. yum安装的优缺点: yum安装的优点:安装东西,方便快捷,特别是不用考虑包依赖. yum安装的缺点: ...

  9. 搭建Flutter Engine源码编译环境

    文章目录 资料 编译环境 一些命令 查看项目中用到的flutter环境 出现的问题 GOMA usage was specified but can't be found, falling back ...

最新文章

  1. 现在,Serverless 真的已经成熟了吗?
  2. 使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决
  3. 北斗导航 | C语言实现PPP(精密单点定位)
  4. R语言心得-分词包的安装
  5. Notepad++ 更换主题
  6. Qt学习笔记-web图片爬取器(webKit)Qt5.6以下的版本才有
  7. python装饰器记录每一个函数的执行时间
  8. hdu 3966(树链剖分+线段树区间更新)
  9. Nginx+Tomcat动静分离
  10. stringr | 文本处理方法(Ⅰ-1):字符串处理函数(上)
  11. cad自动填写页码lisp_CAD图纸页码的自动生成-农夫也玩CAD
  12. 构建虚拟局域网与漏洞扫描x-scan
  13. 安装DL380gen10
  14. 机器学习中的奥卡姆剃刀定律
  15. MySQL架构原理(三)线程模型和文件模型
  16. C语言程序设计:这里输入一个数,分别求其平方值、立方值和平方根。
  17. 核桃编程C语言,核桃编程毕业设计获奖感言?
  18. mysql 授权与回收权限_mysql权限授予与收回
  19. 中文正则表达式匹配-正则中文匹配
  20. misc on starcraft----星际比赛

热门文章

  1. 在前端弹出后台的错误信息
  2. php memcached mysql_php memcached+Mysql(主从)
  3. 01 二叉树的BFS(广度、层次或水平遍历实现)【Binary Tree 二叉树】
  4. ubuntu1804安装docker
  5. 输入9V-12V输出8.4V1.5A双节锂电池充电芯片
  6. 人工智能离不开它——贝叶斯公式的前世今生
  7. Docker搭建STF
  8. 计算机里面哪个代表度,二叉树中的度是什么?
  9. 侯耀文两女告侯耀华争遗产
  10. Python 爬虫实战(三) 获取百度地图搜索结果