KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > cache4j > perfomance > test > GetPutRemove


1 /* =========================================================================
2  * File: GetPutRemove.java$
3  *
4  * Copyright 2006 by Yuriy Stepovoy.
5  * email: stepovoy@gmail.com
6  * All rights reserved.
7  *
8  * =========================================================================
9  */

10
11 package net.sf.cache4j.perfomance.test;
12
13 import net.sf.cache4j.perfomance.ITest;
14 import net.sf.cache4j.perfomance.ICache;
15
16 import java.util.Random JavaDoc;
17
18 /**
19  * GetPutRemove
20  *
21  * @version $Revision: 1.0 $ $Date: 04/03/2003 11:00:00 $
22  * @author Yuriy Stepovoy. <a HREF="mailto:stepovoy@gmail.com">stepovoy@gmail.com</a>
23  **/

24
25 public class GetPutRemove implements ITest {
26 // ----------------------------------------------------------------------------- Константы
27
// ----------------------------------------------------------------------------- Атрибуты класса
28
private ICache _cache;
29 // ----------------------------------------------------------------------------- Статические переменные
30

31     private static final String JavaDoc NAME = "GetPutRemove";
32
33     private static Random JavaDoc RND = new Random JavaDoc(System.currentTimeMillis());
34     private static int COUNT = 2000;
35     private static int[] KEYS = new int[COUNT];
36     static{
37         for (int i = 0; i <COUNT; i++) {
38             KEYS[i] = RND.nextInt(COUNT);
39         }
40     }
41 // ----------------------------------------------------------------------------- Конструкторы
42
// ----------------------------------------------------------------------------- Public методы
43

44     /**
45      * Инициализирует тест
46      * @param cache тестируемый кеш
47      * @throws Exception
48      */

49     public void init(ICache cache) throws Exception JavaDoc {
50         _cache = cache;
51         for (int i = 0; i <KEYS.length; i++) {
52             Object JavaDoc key = String.valueOf(KEYS[i]);
53             _cache.put(key, key);
54         }
55     }
56
57     /**
58      * Этот метод выполняет тестирование
59      * @throws Exception
60      */

61     public void test() throws Exception JavaDoc {
62
63         for (int j = 0; j <1000; j++) {
64
65             for (int i = 0; i <KEYS.length; i++) {
66                 Object JavaDoc key = String.valueOf(KEYS[i]);
67                 Object JavaDoc obj = _cache.get(key);
68                 if(obj==null){
69                     _cache.put(key, key);
70                 } else {
71                     _cache.remove(key);
72                 }
73             }
74
75         }
76
77     }
78
79     /**
80      * Деинициализирует тест
81      */

82     public void destroy() {
83         _cache = null;
84     }
85
86     /**
87      * Возвращает название теста
88      */

89     public String JavaDoc getTestName() {
90         return NAME;
91     }
92
93 // ----------------------------------------------------------------------------- Package scope методы
94
// ----------------------------------------------------------------------------- Protected методы
95
// ----------------------------------------------------------------------------- Private методы
96
// ----------------------------------------------------------------------------- Inner классы
97
}
Popular Tags