自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

转载 深入学习java并发编程:阻塞队列

使用非阻塞队列的时候一个很大问题就是:它不会对当前线程产生阻塞,那么在面对类似消费者-生产者的模型时,就必须额外地实现同步策略以及线程间唤醒策略,这个实现起来就非常麻烦。但是有了阻塞队列就不一样了,它会对当前线程产生阻塞,比如一个线程从一个空的阻塞队列中取元素,此时线程会被阻塞直到阻塞队列中有了元素。当队列中有元素后,被阻塞的线程会自动被唤醒(不需要我们编写代码去唤醒)。这样提供了极大的方便性。

2016-05-31 21:49:44 308

转载 深入学习java并发编程:Thread类的使用

以下是本文的目录大纲:  一.线程的状态  二.上下文切换  三.Thread类中的方法  转载自 http://www.cnblogs.com/dolphin0520/p/3920357.html一.线程的状态      在正式学习Thread类中的具体方法之前,我们先来了解一下线程有哪些状态,这个将会有助于后面对Thread类中的方法

2016-05-31 21:09:24 456

原创 深入学习java并发编程:ConcurrentHashMap<K, V>实现

1、ConcurrentHashMap设计类图        ConcurrentHashMap是线程安全并且高效的HashMap,通过使用锁分段技术提升并发访问率。HashTable在竞争激烈的并发环境下效率低下的原因是所有访问HashTable的线程必须竞争同一把锁,如果容器有多把锁,每一把锁都锁容器中一部分数据,那么当访问容器中不同数据段时,线程间就不存在锁竞争,从而可以提高并发

2016-05-31 17:37:10 749

原创 深入学习java并发编程:CopyOnWriteArrayList<E>实现

1、CopyOnWriteArrayList涉及类图     Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是Co

2016-05-30 21:44:51 455

原创 深入学习java并发编程:ReentrantLock

1、相关类图  2、ReentrantLock实现分析说明        ReentrantLock重入锁能支持一个线程对资源重复的加锁,而不会把自己锁死。此外,还支持获取锁是的公平和非公平性选择。ReentrantLock虽然没有像synchronized关键字一样支持隐式的重进入,但是调用lock()方,在已经获取到锁的情况下,能够再次调用lock()方法获取锁,而不被阻塞。

2016-05-30 21:41:57 364

原创 深入学习java并发编程:Lock与AbstractQueuedSynchronizer(AQS)实现

1、相关类图2、Lock接口       锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,比如读写锁)。在Lock接口出现之前,Java程序是依靠synchronized关键字实现锁的功能的,而从java SE5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁的功能,只是在使用是需要显

2016-05-29 23:47:10 700

原创 深入学习java并发编程:ThreadLocal<T>实现

1、ThreadLocal相关类图          ThreadLocal为解决多线程程序的并发问题提供了一种新的思路,当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。从线程的角度看,目标变量就象是线程的本地变量,(具有线程封闭性),这也是

2016-05-28 19:40:01 621

原创 深入学习java集合:Hashtable<K,V>实现

1、Hashtable类图         从中可以看出HashTable继承Dictionary类,实现Map接口。其中Dictionary类是任何可将键映射到相应值的类(如 Hashtable)的抽象父类。每个键和每个值都是一个对象。在任何一个 Dictionary 对象中,每个键至多与一个值相关联。Map是"key-value键值对"接口。          Hashta

2016-05-28 19:36:25 678

原创 深入学习java集合:LinkedHashMap<K,V>实现

1、LinkedHashMap类图          LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。          LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。

2016-05-28 19:34:02 1043

原创 深入学习java集合:HashMap<K,V>实现

1、HashMap类图        Map 用于保存具有映射关系的数据,因此 Map 集合里保存着两组值,一组值用于保存 Map 里的 Key,另外一组用于保存 Map 里的 Value,Map 中的 key 和  value 都可以是任何引用类型的数据。Map 中的 Key 不允许重复,即同一个 Map 对象的任何两个 Key 通过 equals 方法比较中返回 fal

2016-05-28 19:29:37 1524

原创 深入学习java集合:TreeSet<E>实现

1、TreeSet类图         TreeSet是 SortedSet接口的实现类,TreeSet可以确保集合元素处于排序状态。TreeSet支持两种排序方法:自然排序和定制排序,默认情况下,TreeSet采用自然排序。        TreeSet会调用集合元素的 compareTo(Object obj) 方法来比较元素之间的大小关系,然后将集合元素按升序排列

2016-05-27 21:35:31 520

原创 深入学习java集合:HashSet<E>实现

1、HashSet类图          HashSet是 Set 接口的典型实现,大多数时候使用 Set 集合时都使用这个实现类。HashSet按 Hash 算法来存储集合中的元素,因此具有很好的存取和查找性能。HashSet具有以下特点:                   –不能保证元素的排列顺序                    –HashSet不是线程

2016-05-27 21:32:33 482

原创 深入学习java集合:LinkedList<E>实现

1、LinkedList类图          LinkedList是 List 接口的链接列表实现。实现所有可选的列表操作,并且允许所有元素(包括 null)。除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或双端队列。此类实现 Deque 接口,为 

2016-05-27 21:25:30 668

原创 深入学习java集合:ArrayList<E>实现

1、ArrayList类图             ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加

2016-05-27 21:22:00 523

原创 深入学习java集合:JAVA集合类主要接口

1、java集合类关系图      上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,Iterator,List等。    Collection 接口是 Li

2016-05-27 21:01:57 1952 1

java(简易)多线程HTTP服务器

基于java线程池、java Socket实现了一个简单的多线程Http服务器,可以实现GET资源获取功能、GET表单提交功能,POST 表单提交功能、单文件上传功能。

2016-06-09

PDFium动态链接库VS工程

谷歌开源PDFium项目,pdf渲染引擎,windows平台动态库工程。生成的动态库在Debug目录下。

2016-05-26

PDFium VS工程

谷歌开源PDFium,福昕PDF解析渲染引擎,支持PDF的阅读、搜索、打印和文档/表单的填写。

2016-05-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除