⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hashmaptest.java

📁 JGRoups源码
💻 JAVA
字号:
package org.jgroups.tests;//import gnu.trove.TLongObjectHashMap;//import gnu.trove.THashMap;import EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap;import EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap;import java.util.HashMap;import java.util.Map;import java.util.TreeMap;/** * @author Bela Ban * @version $Id: HashMapTest.java,v 1.5 2005/09/02 14:27:38 belaban Exp $ */public class HashMapTest {    public static void main(String[] args) throws Exception {        int num=10000;        for(int i=0; i < args.length; i++) {            if(args[i].equals("-num")) {                num=Integer.parseInt(args[++i]);                continue;            }            System.out.println("HashMapTest [-num <num>] [-help]");            return;        }        HashMapTest t=new HashMapTest();        Class[] classes=new Class[]{HashMap.class, TreeMap.class, ConcurrentReaderHashMap.class, ConcurrentHashMap.class};        Map[] maps=new Map[classes.length];        System.out.println("\nTesting creation times");        for(int i=0; i < classes.length; i++) {            t.testCreation(classes[i], num);        }        for(int i=0; i < classes.length; i++)            maps[i]=(Map)classes[i].newInstance();        System.out.println("\nTesting puts and gets");        for(int i=0; i < maps.length; i++) {            t.testPutAndGet(maps[i], num);        }    }   /* private void start3(THashMap m, int num) {        long start, stop;        start=System.currentTimeMillis();        for(int i=0; i < num; i++) {            m.put(new Long(i), "bla");        }        stop=System.currentTimeMillis();        System.out.println("Took " + (stop-start) + "ms to insert " + m.size() + " elements into " + m.getClass().getName());        m.clear();    }    private void start2(TLongObjectHashMap m, int num) {        long start, stop;        start=System.currentTimeMillis();        for(int i=0; i < num; i++) {            m.put(i, "bla");        }        stop=System.currentTimeMillis();        System.out.println("Took " + (stop-start) + "ms to insert " + m.size() + " elements into " + m.getClass().getName());        m.clear();    }*/    private void testCreation(Class cl, int num) throws IllegalAccessException, InstantiationException {        long start, stop;        start=System.currentTimeMillis();        for(int i=0; i < num; i++) {            cl.newInstance();        }        stop=System.currentTimeMillis();        System.out.println("Took " + (stop-start) + "ms to create " + num + " instances of " + cl.getName());    }    private void testPutAndGet(Map m, int num) throws Exception {        long start, stop;        Object retval;        start=System.currentTimeMillis();        for(int i=0; i < num; i++) {            m.put(new Long(i), "bla");        }        stop=System.currentTimeMillis();        System.out.println("Took " + (stop-start) + "ms to insert " + m.size() + " elements into " + m.getClass().getName());        start=System.currentTimeMillis();        for(int i=0; i < num; i++) {            retval=m.get(new Long(i));            if(retval == null)                throw new Exception("retval for " + i + " is null");        }        stop=System.currentTimeMillis();        System.out.println("Took " + (stop-start) + "ms to fetch " + m.size() + " elements from " + m.getClass().getName());        start=System.currentTimeMillis();        m.clear();        stop=System.currentTimeMillis();        System.out.println("Took " + (stop-start) + "ms to clear " + m.getClass().getName() + "\n");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -