不是总出,多执行几次就出了。
public static void main(String[] args) { final Map<Long, xxxItemInfo> cache = new HashMap<>();
for(int xx=0;xx<10;xx++) { cache.clear(); for (int i = 0; i < 100; i++) { final int number1 = i; new Thread() { final int number = number1;
@Override public void run() { for (int i = 0; i < 10000; i++) { // //睡一会 // int sleepTime = ThreadLocalRandom.current().nextInt(10); // try { // Thread.sleep(sleepTime); // } catch (InterruptedException e) { // e.printStackTrace(); // } if (i % 2 == 1) { //扩容 xxxItemInfo bean = new xxxItemInfo(); bean.setKscId(new Long("13748280000278600") + number); bean.setItemName("item:" + (new Long("13748280000278600") + number));
cache.put(bean.getKscId(), bean); } else { xxxItemInfo bean = new xxxItemInfo(); bean.setKscId(new Long("13748280000278600")); bean.setItemName("item:" + number);
cache.put(bean.getKscId(), bean); } } } }.start(); }
try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); }
// 打印所有 kscId 对应的 itemInfo 值 System.out.println("--------------final---------------"); for (Long key : cache.keySet()) { if (key.equals(new Long("13748280000278600"))) { System.out.println("--------------key=" + key); xxxItemInfo b = cache.get(key); System.out.println(b.getItemName()); } } System.out.println("--end--"); }
|