成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

通過一個小小的demo帶你認識Pool2

開發 開發工具
本文先回顧Java泛型知識,然后再認識Apache Commons Pool2,拆解一下Pool2的demo。

一、Java泛型

Apache Commons Pool2源碼中用到了很多泛型的知識,這里我們回顧一下泛型,以便于我們更好的閱讀后續的源碼。

1. 什么是泛型?

簡而言之,泛型可以在定義類,接口和方法時使類型(類和接口)成為參數。類似在方法聲明中使用的形式參數。

2. Java泛型標記符

  • E - Element (在集合中使用,因為集合中存放的是元素)
  • T - Type(Java 類)
  • K - Key(鍵)
  • V - Value(值)
  • N - Number(數值類型)
  • ? - 表示不確定的Java類型
  • S、U、V - 2nd、3rd、4th types

3. Object與這些標記符代表的Java類型有啥區別呢?

Object是所有類的根類,任何類的對象都可以設置給該Object引用變量,使用的時候可能需要類型強制轉換,但是用使用了泛型T、E等這些標識符后,在實際用之前類型就已經確定了,不需要再進行類型強制轉換。

4. 官方參考

可以肯定的說,上面介紹的知識,在論壇和博客中都可以搜索到,但是大家有沒有想過,那些發布博客的人從哪里獲取這些泛型的知識呢?書是一個渠道,更重要的是官方的文檔參考,如果英文不錯我強烈建議大家看官網的原版說明,從這些官方的技術文檔中,你可以獲得很多意想不到的知識。http://docs.oracle.com/javase/tutorial/java/generics/index.html這個地址是Oracle官網關于Java泛型的說明,建議大家有空閱讀閱讀。

二、初識Pool2

回顧了Java泛型,我們來認識一下Apache Commons Pool2吧,既然是先認識一下,與了解一個人是一樣的,就是多接觸,自然就會加深印象。對于代碼我們怎么接觸呢?那自然是demo了,一個小小的demo可以幫助我們了解,加深印象。我們來拆解一下Pool2的demo吧。

1. 準備demo環境

準備demo環境

2. 從池中拿到StringBuffer,用完后放回池中

從池中拿到StringBuffer,用完后放回池中

PS:一般情況下第14行代碼,需要初始化一個buf=new StringBuffer(),而這里賦值為null,在第16行處直接從pool中獲取StringBuffer,不再初始化,使用完畢后在第29行放回pool,這里把StringBuffer當成pool中的一種資源來使用,當然現實中使用StringBuffer直接初始化即可,不需要使用pool,可以展開想象,如果把StringBuffer換成jdbc連接,那不就是jdbc連接池了嗎?

3. 定義StringBufferFactory,根據需要覆蓋池中對象的生命周期方法

定義StringBufferFactory

PS:PooledObjectFactory接口定義了池中對象的生命周期方法。 實現PoolableObjectFactory的最簡單的方法是擴展BasePooledObjectFactory。StringBufferFactory是一個BasePooledObjectFactory實現,用來創建如上要用的StringBuffer對象。

4. 結合并測試

PS:我們傳遞StringBufferFactory給GenericObjectPool這個工廠來實例化我們的ReaderUtil。

從這個簡單的demo可知,Pool2充當資源池,來管理StringBuffer這種對象資源。

【本文為51CTO專欄作者“朱國立”的原創稿件,轉載請通過作者微信公眾號“開發者圓桌”獲取聯系和授權】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2015-10-16 10:19:01

2025-01-23 08:33:27

2018-09-27 10:33:30

正則表達式CPUJava

2020-01-23 15:40:00

運維架構技術

2024-04-17 08:18:22

MyBatis批量插入SQL

2022-08-15 09:23:07

IP耦合

2022-09-05 19:48:01

日志軟件

2024-07-29 00:02:00

DemoVue開發

2017-11-27 06:30:25

IP耦合架構

2017-11-27 08:30:50

公共庫耦合架構

2024-01-07 19:48:12

2011-03-07 14:52:55

Websense數據泄露防護

2021-07-29 07:55:19

Demo 工作池

2021-04-14 07:33:02

Java函數式斷言

2015-03-30 12:20:07

DemoStoryboard

2024-05-22 09:45:49

2020-03-26 17:00:53

HashMapputJava

2021-06-10 09:00:33

單例模式數據庫

2022-01-14 19:00:37

微信微信紅包移動應用

2010-09-29 15:15:15

DHCP中繼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品一区二区三区视频播放 | 一级黄色夫妻生活 | 国产精品久久久久久久久大全 | 久久r久久 | 国产伊人精品 | 国产精品视频久久久久久 | 精品伊人 | 中文字幕日韩一区 | 日韩有码一区二区三区 | 久久久久久看片 | 欧美精品综合 | 免费黄篇| 欧美一级欧美一级在线播放 | 久久草视频 | 中文字幕精品一区二区三区精品 | 亚洲精品久久久久久首妖 | 成人精品在线 | 欧美黄色一区 | 免费看欧美一级片 | 国产欧美一区二区三区国产幕精品 | 国产成人99久久亚洲综合精品 | 9999国产精品欧美久久久久久 | 国产黄视频在线播放 | 国产做a爱免费视频 | 五月天激情综合网 | 日韩在线视频播放 | 精品欧美乱码久久久久久 | av乱码| www.9191| 国产免费福利 | 日韩欧美视频 | 可以免费观看的av片 | 亚洲免费人成在线视频观看 | 在线看一区二区 | 欧美一区二区在线 | 亚洲高清在线 | 亚洲精品一区二区 | 欧产日产国产精品99 | 日本一区视频在线观看 | www4虎| 国产网站在线播放 |