`
f543711700
  • 浏览: 328335 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ConcurrentHashMap在惠普Unix上的问题

 
阅读更多

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Vector;
import java.util.concurrent.ConcurrentHashMap;

public class Main {

	static ConcurrentHashMap table = new ConcurrentHashMap();
	
	public static void main(String[] args) throws InterruptedException {
		
		table.put("1", "1");
		System.out.println("loading success");
		
		new Thread() {
			@Override
			public void run() {
				try {
					sleep(500);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				table.remove("1");
			}
		}.start();
		
		
		for(Iterator it=table.entrySet().iterator();it.hasNext();) {
			Thread.sleep(2000);	
			System.out.println("hahahah");
			Map.Entry entry=(Map.Entry)it.next();
			System.out.println(entry.getKey());
			System.out.println(entry.getValue());
			table.remove(entry.getKey());
		}
		
		System.out.println("main thread compleat");
		
	}
	
}


以上这段代码在惠普UNIX上面的结果比较特殊,是:
BimsInt2[/]#java Main
loading success
hahahah
1
null
main thread compleat

但是在windows、solaris和linux上面的结果是:
loading success
hahahah
1
1
main thread compleat


另:java里面的new java.util.Date()在惠普UNIX上面也比较特殊,具体不细说了。
分享到:
评论

相关推荐

    java源码剖析-ConcurrentHashMap

    ### Java源码剖析-...综上所述,`ConcurrentHashMap`作为Java并发编程中的一个核心组件,通过对`Segment`和`HashEntry`等数据结构的有效利用,以及对读写操作的优化处理,显著提升了多线程环境下的数据访问效率。

    ConcurrentHashMap源码分析

    与传统的线程安全哈希表`HashTable`相比,`ConcurrentHashMap`在设计上采用了更加先进的技术,以减少锁的竞争,从而提高并发性能。 #### 二、线程安全机制 `ConcurrentHashMap`的线程安全性主要通过引入“分段锁”...

    java本地缓存ConcurrentHashMap

    java本地缓存ConcurrentHashMap

    Java并发编程笔记之ConcurrentHashMap原理探究.docx

    在Java 7之前,ConcurrentHashMap主要依赖于Segment上的ReentrantLock来实现同步。每个Segment都有一个内部锁,当进行写操作时,会锁定对应Segment,读操作则不需要锁定。而从Java 8开始,ConcurrentHashMap改用CAS...

    ConcurrentHashMap源码剖析

    为了避免在扩容过程中锁住整个表,ConcurrentHashMap采用了特殊的扩容机制,确保即使在扩容过程中也能支持并发读写操作。 #### 四、应用场景 **1. 多线程环境下的数据共享** 当多个线程需要并发地访问和修改一个...

    ConcurrentHashMap源码解析

    通过以上分析,我们可以看到ConcurrentHashMap如何通过锁分段技术来解决HashMap在并发环境下的线程安全问题,并通过巧妙的设计减少线程间锁的竞争,从而提升性能。因此,在设计需要高并发性能的程序时,...

    JDK1.8中ConcurrentHashMap中computeIfAbsent死循环bug问题

    这是因为ConcurrentHashMap使用的是链表存储结构,当两个键的哈希值相同时,ConcurrentHashMap将会将这两个键存储在同一个链表中,从而导致死循环的问题。 这个问题的解决方案是使用JDK1.8中ConcurrentHashMap的另...

    JDK1.8中ConcurrentHashMap中computeIfAbsent死循环bug.docx

    总的来说,JDK 1.8中的`ConcurrentHashMap`在`computeIfAbsent`方法和扩容逻辑的结合上存在一个设计缺陷,可能导致线程在尝试插入新值时陷入死循环。在后续版本中,这个问题被识别并修正,提高了`ConcurrentHashMap`...

    Java利用ConcurrentHashMap实现本地缓存demo

    Java利用ConcurrentHashMap实现本地缓存demo; 基本功能有缓存有效期、缓存最大数、缓存存入记录、清理线程、过期算法删除缓存、LRU算法删除、获取缓存值等功能。 复制到本地项目的时候,记得改包路径哦~

    ConcurrentHashmap源码

    源码分析见我博文:http://blog.csdn.net/wabiaozia/article/details/50684556

    ConcurrentHashMap的实现原理

    ConcurrentHashMap 广泛应用于 Java 开发中,例如,在大型的 Web 应用程序中,ConcurrentHashMap 可以用来存储用户的 Session 信息,在分布式系统中,ConcurrentHashMap 可以用来存储分布式锁等。

    ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)

    ConcurrentHashMap 是为了应对 HashMap 在并发环境下不安全而诞生的,ConcurrentHashMap 的设计与实现非常精巧,大量的利用了 volatile,final,CAS 等 lock-free 技术来减少锁竞争对于性能的影响。...

    ConcurrentHashMap的实现原理(JDK1.7和JDK1.8).pdf

    `ConcurrentHashMap`在设计上解决了HashMap在并发环境下的线程安全问题。在JDK1.7版本,它采用了分段锁(Segment)的设计,将数据分为多个段,每个段都有自己的锁,这样可以允许多个线程并发访问不同的段,提高并发...

    71-ConcurrentHashMap笔记1

    而JDK1.8之前的ConcurrentHashMap则引入了Segment分段锁,每个Segment相当于一个小的HashMap,这样可以在一定程度上提高并发性,但仍然存在锁粒度过粗的问题。 JDK1.8的ConcurrentHashMap改进了这一设计,它不再...

    java7-8中的 HashMap和ConcurrentHashMap全解析

    在Java编程语言中,`HashMap`和`ConcurrentHashMap`是两种非常重要的数据结构,它们都属于`java.util`包,用于存储键值对。本文将深入解析这两个类在Java 7和8版本中的实现原理、特点以及使用场景。 首先,`HashMap...

    java7-8中的 HashMap和ConcurrentHashMap全解析.pdf

    而ConcurrentHashMap是线程安全的HashMap实现,它在Java 7中采用了分段锁(Segment)的设计,每个Segment实际上是一个小型的HashMap,通过锁来确保并发安全。put过程包括: 1. 确保Segment初始化,如果需要则创建新...

    ConcurrentHashMap之实现细节

    为了避免这种情况,`ConcurrentHashMap`会在必要的时候重新哈希,以确保数据能够更均匀地分布在各个段中。 #### 五、示例代码分析 以下是一些关键的示例代码: ```java /** * The segments, each of which is a ...

    【面试普通人VS高手系列】ConcurrentHashMap 底层具体实现知道吗?实现原理是什么?.doc

    ConcurrentHashMap 本质上是一个 HashMap,因此功能和 HashMap 一样,但 ConcurrentHashMap 在 HashMap 的基础上,提供了并发安全的实现。并发安全的主要实现是通过对指定的 Node 节点加锁,来保证数据更新的安全性...

    HashTable、ConcurrentHashMap.pdf

    在Java面试中,经常会问到关于数据结构如HashTable和ConcurrentHashMap的细节,以及它们在并发编程中的使用。 最后,文档中出现了诸如“2399”、“1328”、“2645”、“2633”等数字,很可能是引用了一些代码片段或...

Global site tag (gtag.js) - Google Analytics