国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

對Java提供的兩個Map進行的性能測試

2019-11-18 13:15:59
字體:
來源:轉載
供稿:網友

  對java 提供的兩個Map 進行了性能測試發現效果還可以10萬個key的Map 查找 起來也不是很慢,大概50--60毫秒
  
  還打算自己手工做些性能優化,將不同前綴的KEY分開到幾個小MAP里 發現性能沒有改觀,納悶中。。
  
  分開到幾個小MAP里,然后小的里面還可以再分,分分分,形成一個按字母檢索樹
  
  忽然想起,Java PRo 上有篇文章里說過Map系列的內置 性能優化方式,好象就是和我說的這種思想是一致的
  
  查找資料一看(http://www.fawcette.com/china/xmlFile.aspx?ID=8&page=1),過真如此,哈哈,不過上次看了印象不深刻,這次自己想出來了,印象當真深刻的很,同時也證實了英雄所見略同(呵呵)
  
  /**
  * Map 系列性能測試
  */
  import java.util.*;
  public class MapTest
  {
  public static void main(String ags[]){
  test2();
  System.out.println("-----");
  test1();
  }
  public static void test1(){
  Map m = new HashMap();
  long t0 = System.currentTimeMillis();
  for (int i = 0; i < 99999 ; i++)
  {
  m.put("aa.bb.to.pub."+i+"12345asfsdfVO",i+"value");
  }
  long t1 = System.currentTimeMillis() ;
  System.out.println(t1-t0);;
  //System.out.println(m.get("8888key"));
  for (int i = 0; i < 99999 ; i++)
  {
  m.get("aa.bb.to.pub."+i+"12345asfsdfVO");
  }
  long t2 = System.currentTimeMillis() ;
  System.out.println(t2-t1);
  
  }
  public static void test2(){
  Map m = new HashMap();
  m.put("aa.bb.ao",new HashMap());
  m.put("aa.bb.do",new HashMap());
  m.put("aa.bb.wo",new HashMap());
  m.put("aa.bb.po",new HashMap());
  m.put("aa.bb.io",new HashMap());
  m.put("aa.bb.oo",new HashMap());
  m.put("aa.bb.bo",new HashMap());
  m.put("aa.bb.to",new HashMap());
  m.put("aa.bb.yo",new HashMap());
  m.put("aa.bb.ro",new HashMap());
  long t0 = System.currentTimeMillis();
  for (int i = 10; i < 20 ; i++)
  {
  for (int k = 1; k < 5 ; k++) //有10個模塊,比較5個模塊概率
  if("aa.bb.to.pub.12345headerVO".startsWith("aa.bb.to"));
  //下面假設上邊比較結果為: aa.bb.to開頭
  for(int j = 1000; j < 2000; j++) //每個模塊里有1000個
  ((Map)m.get("aa.bb.to")).put("aa.bb.to.pub."+j+"12345asfsdfVO","value");
  }
  long t1 = System.currentTimeMillis() ;
  System.out.println("錄入時間為:"+(t1-t0));;
  //System.out.println(m.get("8888key"));
  for (int i = 10; i < 20 ; i++)
  {
  for (int k = 1; k < 5 ; k++) //有10個模塊,比較5個模塊概率
  if("aa.bb.to.pub.12345asfsdfVO".startsWith("aa.bb.to"));
  
  for(int j = 1000; j < 2000; j++)
  ((Map)m.get("aa.bb.to")).get("aa.bb.to.pub."+j+"12345asfsdfVO");
  }
  long t2 = System.currentTimeMillis() ;
  System.out.println("查找時間為:"+(t2-t1));
  
  }
  };

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 威信县| 霍山县| 孟津县| 琼中| 毕节市| 土默特右旗| 偃师市| 阆中市| 丰台区| 高台县| 永清县| 大城县| 昆明市| 西平县| 富阳市| 兴隆县| 剑阁县| 丽水市| 永康市| 东乡族自治县| 阿尔山市| 泰兴市| 巴塘县| 依兰县| 新宁县| 德令哈市| 大同市| 贡觉县| 海晏县| 紫阳县| 呼图壁县| 南乐县| 罗定市| 大新县| 沁阳市| 增城市| 武山县| 宣汉县| 康乐县| 宣汉县| 丽水市|