版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——Java中常用緩存Cache機(jī)制的實(shí)現(xiàn)Java中常用緩存Cache機(jī)制的實(shí)現(xiàn)
所謂緩存,就是將程序或系統(tǒng)經(jīng)常要調(diào)用的對(duì)象存在內(nèi)存中,一遍其使用時(shí)可以快速調(diào)用,不必再去創(chuàng)造新的重復(fù)的實(shí)例。這樣做可以裁減系統(tǒng)開(kāi)銷,提高系統(tǒng)效率。
Java中常用緩存Cache機(jī)制的實(shí)現(xiàn)
緩存主要可分為二大類:
一、通過(guò)文件緩存,顧名思義文件緩存是指把數(shù)據(jù)存儲(chǔ)在磁盤(pán)上,不管你是以XML格式,序列化文件DAT格式還是其它文件格式;
二、內(nèi)存緩存,也就是實(shí)現(xiàn)一個(gè)類中靜態(tài)Map,對(duì)這個(gè)Map舉行常規(guī)的增刪查.
代碼如下:
1.packagelhm.hcy.guge.frameset.cache;
2.
3.importjava.util.*;
4.
5.//Description:管理緩存
6.
7.//可擴(kuò)展的功能:當(dāng)chche到內(nèi)存溢出時(shí)務(wù)必除掉掉最早期的一些緩存對(duì)象,這就要求對(duì)每個(gè)緩存對(duì)象保存創(chuàng)造時(shí)間
8.
9.publicclassCacheManager
10.privatestaticHashMapcacheMap=newHashMap;
11.
12.//單實(shí)例構(gòu)造方法
13.privateCacheManager
14.super;
15.
16.//獲取布爾值的緩存
17.publicstaticbooleangetSimpleFlagStringkey
18.try
19.returnBooleancacheMap.getkey;
20.catchNullPointerExceptione
21.returnfalse;
22.
23.
24.publicstaticlonggetServerStartdtStringkey
25.try
26.returnLongcacheMap.getkey;
27.catchExceptionex
28.return0;
29.
30.
31.//設(shè)置布爾值的緩存
32.publicsynchronizedstaticbooleansetSimpleFlagStringkey,booleanflag
33.ifflaggetSimpleFlagkey//假使為真不允許被籠罩
34.returnfalse;
35.else
36.cacheMap.putkey,flag;
37.returntrue;
38.
39.
40.publicsynchronizedstaticbooleansetSimpleFlagStringkey,longserverbegrundt
41.ifcacheMap.getkey==null
42.cacheMap.putkey,serverbegrundt;
43.returntrue;
44.else
45.returnfalse;
46.
47.
48.
49.
50.//得到緩存。同步靜態(tài)方法
51.privatesynchronizedstaticCachegetCacheStringkey
52.returnCachecacheMap.getkey;
53.
54.
55.//判斷是否存在一個(gè)緩存
56.privatesynchronizedstaticbooleanhasCacheStringkey
57.returncacheMap.containsKeykey;
58.
59.
60.//除掉全體緩存
61.publicsynchronizedstaticvoidclearAll
62.cacheMap.clear;
63.
64.
65.//除掉某一類特定緩存,通過(guò)遍歷HASHMAP下的'全體對(duì)象,來(lái)判斷它的KEY與傳入的TYPE是否匹配
66.publicsynchronizedstaticvoidclearAllStringtype
67.Iteratori=cacheMap.entrySet.iterator;
68.Stringkey;
69.ArrayListarr=newArrayList;
70.try
71.whilei.hasNext
72.java.util.Map.Entryentry=java.util.Map.Entryi.next;
73.key=Stringentry.getKey;
74.ifkey.startsWithtype//假設(shè)匹配那么刪除掉
75.arr.addkey;
76.
77.
78.forintk=0;karr.size;k++
79.clearOnlyarr.getk;
80.
81.catchExceptionex
82.ex.printStackTrace;
83.
84.
85.
86.//除掉指定的緩存
87.publicsynchronizedstaticvoidclearOnlyStringkey
88.cacheMap.removekey;
89.
90.
91.//載入緩存
92.publicsynchronizedstaticvoidputCacheStringkey,Cacheobj
93.cacheMap.putkey,obj;
94.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能交通設(shè)施租賃合同3篇
- 2024年水磨石地坪系統(tǒng)分包施工合同3篇
- 2024年消費(fèi)信貸個(gè)人協(xié)議
- 2024年食堂建筑項(xiàng)目施工與安全生產(chǎn)協(xié)議3篇
- 2025年度社會(huì)保障補(bǔ)貼合同范本3篇
- 2025年度出口企業(yè)出口貨物檢驗(yàn)檢疫與憑證獲取合同3篇
- 2024年項(xiàng)目經(jīng)理雇傭協(xié)議
- 2024餐飲店加盟技術(shù)轉(zhuǎn)讓合同
- 2024年虛擬現(xiàn)實(shí)技術(shù)研發(fā)合作協(xié)議
- 2025年度新型工業(yè)園區(qū)租賃合同書(shū)3篇
- 配網(wǎng)設(shè)計(jì)人員技能測(cè)評(píng)理論考試題庫(kù)(濃縮500題)
- 《鐵路電氣化建設(shè)項(xiàng)目電子文件和電子檔案管理規(guī)范》
- 人教版高中地理選擇性必修1自然地理基礎(chǔ)地理綜合檢測(cè)含答案
- DZ∕T 0344-2020 石油天然氣地質(zhì)勘查總則
- 建筑智能化項(xiàng)目系統(tǒng)試運(yùn)行記錄表
- 三年級(jí)上冊(cè)寒假每日一練
- (正式版)SHT 3115-2024 石油化工管式爐輕質(zhì)澆注料襯里工程技術(shù)規(guī)范
- 重慶工作報(bào)告
- 教科版科學(xué)四年級(jí)下冊(cè)第二單元《電路》教學(xué)計(jì)劃
- 無(wú)人機(jī)駕駛員航空知識(shí)手冊(cè)培訓(xùn)教材(多旋翼)
- 天津市部分區(qū)2023-2024學(xué)年六年級(jí)上學(xué)期期末數(shù)學(xué)試卷
評(píng)論
0/150
提交評(píng)論