<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            Java 中常用緩存Cache機制的實現

            時間:2025-03-30 01:05:05 java語言 我要投稿
            • 相關推薦

            Java 中常用緩存Cache機制的實現

              所謂緩存,就是將程序或系統經常要調用的對象存在內存中,一遍其使用時可以快速調用,不必再去創建新的重復的實例。這樣做可以減少系統開銷,提高系統效率。

              Java 中常用緩存Cache機制的實現

              緩存主要可分為二大類:

              一、通過文件緩存,顧名思義文件緩存是指把數據存儲在磁盤上,不管你是以XML格式,序列化文件DAT格式還是其它文件格式;

              二、內存緩存,也就是實現一個類中靜態Map,對這個Map進行常規的增刪查.

              代碼如下 :

              1. packagelhm.hcy.guge.frameset.cache;

              2.

              3. importjava.util.*;

              4.

              5. //Description:管理緩存

              6.

              7. //可擴展的功能:當chche到內存溢出時必須清除掉最早期的`一些緩存對象,這就要求對每個緩存對象保存創建時間

              8.

              9. publicclassCacheManager{

              10. privatestaticHashMapcacheMap=newHashMap();

              11.

              12. //單實例構造方法

              13. privateCacheManager(){

              14. super();

              15. }

              16. //獲取布爾值的緩存

              17. publicstaticbooleangetSimpleFlag(Stringkey){

              18. try{

              19. return(Boolean)cacheMap.get(key);

              20. }catch(NullPointerExceptione){

              21. returnfalse;

              22. }

              23. }

              24. publicstaticlonggetServerStartdt(Stringkey){

              25. try{

              26. return(Long)cacheMap.get(key);

              27. }catch(Exceptionex){

              28. return0;

              29. }

              30. }

              31. //設置布爾值的緩存

              32. publicsynchronizedstaticbooleansetSimpleFlag(Stringkey,booleanflag){

              33. if(flag&&getSimpleFlag(key)){//假如為真不允許被覆蓋

              34. returnfalse;

              35. }else{

              36. cacheMap.put(key,flag);

              37. returntrue;

              38. }

              39. }

              40. publicsynchronizedstaticbooleansetSimpleFlag(Stringkey,longserverbegrundt){

              41. if(cacheMap.get(key)==null){

              42. cacheMap.put(key,serverbegrundt);

              43. returntrue;

              44. }else{

              45. returnfalse;

              46. }

              47. }

              48.

              49.

              50. //得到緩存。同步靜態方法

              51. privatesynchronizedstaticCachegetCache(Stringkey){

              52. return(Cache)cacheMap.get(key);

              53. }

              54.

              55. //判斷是否存在一個緩存

              56. privatesynchronizedstaticbooleanhasCache(Stringkey){

              57. returncacheMap.containsKey(key);

              58. }

              59.

              60. //清除所有緩存

              61. publicsynchronizedstaticvoidclearAll(){

              62. cacheMap.clear();

              63. }

              64.

              65. //清除某一類特定緩存,通過遍歷HASHMAP下的所有對象,來判斷它的KEY與傳入的TYPE是否匹配

              66. publicsynchronizedstaticvoidclearAll(Stringtype){

              67. Iteratori=cacheMap.entrySet().iterator();

              68. Stringkey;

              69. ArrayListarr=newArrayList();

              70. try{

              71. while(i.hasNext()){

              72. java.util.Map.Entryentry=(java.util.Map.Entry)i.next();

              73. key=(String)entry.getKey();

              74. if(key.startsWith(type)){//如果匹配則刪除掉

              75. arr.add(key);

              76. }

              77. }

              78. for(intk=0;k<arr.size();k++){

              79. clearOnly(arr.get(k));

              80. }

              81. }catch(Exceptionex){

              82. ex.printStackTrace();

              83. }

              84. }

              85.

              86. //清除指定的緩存

              87. publicsynchronizedstaticvoidclearOnly(Stringkey){

              88. cacheMap.remove(key);

              89. }

              90.

              91. //載入緩存

              92. publicsynchronizedstaticvoidputCache(Stringkey,Cacheobj){

              93. cacheMap.put(key,obj);

              94. }

              95.

              96. //獲取緩存信息

              97. publicstaticCachegetCacheInfo(Stringkey){

              98.

              99. if(hasCache(key)){

              100. Cachecache=getCache(key);

            【Java 中常用緩存Cache機制的實現】相關文章:

            java的緩存機制07-29

            java的緩存機制簡介09-06

            Java如何實現一個簡單的緩存09-29

            java中反射機制11-11

            php頁面緩存實現方法07-20

            Java中如何實現顯示動態的時間09-28

            講解Java的Spring框架中的AOP實現10-30

            CPU中Cache是什么08-22

            Java反射機制07-02

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看