import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; //public static Collection synchronizedCollention(Collection c) // //public static List synchronizedList(list l) // //public static Map synchronizedMap(Map m) // //public static Set synchronizedSet(Set s) // //public static SortedMap synchronizedSortedMap(SortedMap sm) // //public static SortedSet synchronizedSortedSet(SortedSet ss) public class CollectionsSynchronizedTest { public static void main(String[] args) { //为了安全起见,仅使用同步列表的一个引用,这样可以确保控制了所有访问 //集合必须同步化,这里是一个List List wordList = Collections.synchronizedList(new ArrayList()); //wordList中的add方法是同步方法,会获取wordList实例的对象锁 wordList.add("Iterators"); wordList.add("require"); wordList.add("special"); wordList.add("handling"); //获取wordList实例的对象锁, //迭代时,阻塞其他线程调用add或remove等方法修改元素 synchronized ( wordList ) { Iterator iter = wordList.iterator(); while ( iter.hasNext() ) { String s = (String) iter.next(); System.out.println("found string: " + s + ", length=" + s.length()); } } } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。
个人主页:http://knight-black-bob.iteye.com/
谢谢您的赞助,我会做的更好!
相关推荐
多线程环境下,建议使用 ConcurrentHashMap,或者使用 Collections.synchronizedMap(hashMap) 将 HashMap 转成线程同步的。 只能使用关联的键来获取值。 HashMap 只能存储对象,所以基本数据类型应该使用其包装器...
如果我么需要有一个线程安全的HashMap,可以使用Collections.synchronizedMap(Map m)方法获得线程安全的HashMap,也可以使用ConcurrentHashMap类创建线程安全的map。 存储的元素在jdk1.7当中是Entry作为存储的
本文介绍了在Java类库中出现的第一个关联的...Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的基类和一个同步的包装器Collections.synchronizedMap,解决了线程安全性问题。
微信公众号:放开我我还能学 分享知识,共同进步! 看你简历里写了 HashMap,那你说说它存在什么缺点? 线程不安全 迭代时无法修改值 ...Collections#SynchronizedMap 同步包装器 SynchronizedMap
Synchronized Collections Concurrent Collections CopyOnWriteArrayList ConcurrentHashMap Blocking Queue Executors Fixed Thread Pool Cached Thread Pool Single Thread Pool Scheduled Thread Pool ...
使用Collections.synchronizedList(new ArrayList()):内部直接将接受的List对象传递给静态内部类SynchronizedList对象,然后Collections.synchronizedList(new ArrayList())返回的List对象的调用方法都是直接调用...
使用synchronized方法或代码块,只能保证某一段代码是只能由一个线程执行。 也可使用Semaphore类设置资源数量 Immutable模式 Immutable类:通过final关键字设置类的属性,且类中不存在setter方法。 优点:不需使用...
如果对 synchronized 关键字不太了解的话,可以点击下面的链接查看我之前写的一篇文章。高并发的情况下,一般都要求...那有些同学可能会说,可以使用 Collections.synchronizedList() 让 ArrayList 变成线程安全啊。
Collections 标记: 均以synchronized实现, 性能没用提高 synchronizedCollection synchronizedList synchronizedSet synchronizedMap synchronizedSortedSet synchronizedSortedSet JUC ...
ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能。例如: Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的。如果更改了 ArrayList.Capacity 属性的值,则自动进行...
Chapter 6, Concurrent Collections will teach the readers to how to use some concurrent data structures provided by the Java language. These data structures must be used in concurrent programs to avoid...
Collections List ArrayList LinkedList Vector Set HashMap TreeMap LinkedHashMap ConcerrentHashMap Set TreeMap HashMap synchronized volatile transient implements extends public private protected this ...
Collections List ArrayList LinkedList Vector Set HashMap TreeMap LinkedHashMap ConcerrentHashMap Set TreeMap HashMap synchronized volatile transient implements extends public private protected this ...
synchronized关键字 Java String Java Arrays Java Collections Java 泛型 Java NIO Buffer Channel Selector Java 8 Features 源码解读 String源码系列 List源码系列 ArrayList LinkedList CopyOnWriteArrayList ...
19. Collection 和 Collections 有什么区别? 9 20. List、Set、Map 之间的区别是什么? 9 21. HashMap 和 Hashtable 有什么区别? 10 22. 如何决定使用 HashMap 还是 TreeMap? 10 23. 说一下 HashMap 的实现原理?...
第六,Collection 和 Collections的区别。 第七,什么时候用assert. 第八,GC是什么? 为什么要有GC? 第九,String s = new String("xyz");创建了几个String Object? 第十,Math.round(11.5)等...
java9 源码下载 Java se 基础练习 每个目录为一个大的模块(如 集合,数据结构,反射,设计模式等),目录的详信息将在二级目录下详细列出 ...Collections集合类的使用(synchronized 包装等) queue stack commonlyCla
Continuing, you investigate strictfp, class literals, synchronized, volatile, the enhanced for loop statement, autoboxing/unboxing, and transient fields. The book also briefly presents most (if not ...
Collection&Collections区别 hashSet如何保证不重复 什么是线程同步 进程 和 线程 Lock 和 Synchronized 的区别 常见的内存溢出 重载和重写的区别 构造器Constructor是否能被override public protected private 自动...
Check out the related LiveLessons video product, C# 2010 Fundamentals: Parts I, II and III, containing 20+ hours of video synchronized to this book: www.deitel.com/livelessons. Practical, example-...