Merhaba arkadaşlar

Bu dersimizde, java’da kendi cache işlemleriniz için bir örnek yayınlayacağım. Öncelikle Singleton (Tek nesne) Tasarım deseninden faydalanacağız. Bu desenin amacı, bir sınıftan sadece bir tane üretilmesini sağlamak. Bunu da yapıcı metodunu private yaparak sağlıyoruz. Bu sayede yeni bir örneklendirme (“new SimpleCacheManager()” gibi bir kullanım mümkün olamayacağından, tek bir nesne üretilmiş olacak. Bu tek olan nesne de cache’e attığımız her veriyi, veri tabanında saklar gibi, uygulama ayakta olduğu sürece tutacaktır.

  1.  
  2. import java.util.*;
  3.  
  4. public class SimpleCacheManager {
  5.  
  6.     private static SimpleCacheManager instance;
  7.     private static Object monitor = new Object();
  8.     private Map<String, Object> cache = Collections.synchronizedMap(new HashMap<String, Object>());
  9.  
  10.     private SimpleCacheManager() {
  11.     }
  12.  
  13.     public void put(String cacheKey, Object value) {
  14.         cache.put(cacheKey, value);
  15.     }
  16.  
  17.     public Object get(String cacheKey) {
  18.         return cache.get(cacheKey);
  19.     }
  20.  
  21.     public void clear(String cacheKey) {
  22.         cache.put(cacheKey, null);
  23.     }
  24.  
  25.     public void clear() {
  26.         cache.clear();
  27.     }
  28.  
  29.     public static SimpleCacheManager getInstance() {
  30.         if (instance == null) {
  31.             synchronized (monitor) {
  32.                 if (instance == null) {
  33.                     instance = new SimpleCacheManager();
  34.                 }
  35.             }
  36.         }
  37.         return instance;
  38.     }
  39.  
  40. }


*** *** KANALIMIZA ABONE OLMAYI UNNUTMAYIN ** ***

*** *** KANALIMIZA ABONE OLMAYI UNNUTMAYIN *** ***