码迷,mamicode.com
首页 > 编程语言
深入浅出 Java Concurrency (22): 并发容器 part 7 可阻塞的BlockingQueue (2)[转]
在上一节中详细分析了LinkedBlockingQueue的实现原理。实现一个可扩展的队列通常有两种方式:一种方式就像LinkedBlockingQueue一样使用链表,也就是每一个元素带有下一个元素的引用,这样的队列原生就是可扩展的;另外一种就是通过数组实现,一旦队列的大小达到数组的容量的时候就将...
分类:编程语言   时间:2014-12-03 00:01:43    阅读次数:488
全面解析Java注解
1.了解注解我们有必要对JDK 5.0新增的注解(Annotation)技术进行简单的学习,因为Spring 支持@AspectJ,而@AspectJ本身就是基于JDK 5.0的注解技术。所以学习JDK 5.0的注解知识有助于我们更好地理解和掌握Spring的AOP技术。对于Java开发人员来说,在...
分类:编程语言   时间:2014-12-03 00:00:00    阅读次数:530
深入浅出 Java Concurrency (35): 线程池 part 8 线程池的实现及原理 (3)[转]
线程池任务执行结果这一节来探讨下线程池中任务执行的结果以及如何阻塞线程、取消任务等等。1packageinfo.imxylz.study.concurrency.future;23publicclassSleepForResultDemoimplementsRunnable {45staticboo...
分类:编程语言   时间:2014-12-03 00:01:56    阅读次数:584
Java注解浅谈
注解定义(来自百度百科):指示编译器如何对待您的自定义 Annotation,预设上编译器会将Annotation资讯留在class档案中,但不被虚拟机器读取,而仅用于编译器或工具程式运行时提供资讯。随着零配置的流行,注解的使用也越来越大众化,注解的学习也很有必要。最近学习了下Spring的几个注解...
分类:编程语言   时间:2014-12-03 00:01:07    阅读次数:419
深入浅出 Java Concurrency (13): 锁机制 part 8 读写锁 (ReentrantReadWriteLock) (1)[转]
从这一节开始介绍锁里面的最后一个工具:读写锁(ReadWriteLock)。ReentrantLock 实现了标准的互斥操作,也就是一次只能有一个线程持有锁,也即所谓独占锁的概念。前面的章节中一直在强调这个特点。显然这个特点在一定程度上面减低了吞吐量,实际上独占锁是一种保守的锁策略,在这种情况下任何...
分类:编程语言   时间:2014-12-02 23:59:35    阅读次数:527
深入浅出 Java Concurrency (17): 并发容器 part 2 ConcurrentMap (2)[转]
本来想比较全面和深入的谈谈ConcurrentHashMap的,发现网上有很多对HashMap和ConcurrentHashMap分析的文章,因此本小节尽可能的分析其中的细节,少一点理论的东西,多谈谈内部设计的原理和思想。要谈ConcurrentHashMap的构造,就不得不谈HashMap的构造,...
分类:编程语言   时间:2014-12-02 23:59:03    阅读次数:547
深入浅出 Java Concurrency (11): 锁机制 part 6 CyclicBarrier[转]
如果说CountDownLatch是一次性的,那么CyclicBarrier正好可以循环使用。它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。所谓屏障点就是一组任务执行完毕的时刻。清单1 一个使用CyclicBarrier的例子package xylz....
分类:编程语言   时间:2014-12-03 00:00:16    阅读次数:316
深入浅出 Java Concurrency (18): 并发容器 part 3 ConcurrentMap (3)[转]
在上一篇中介绍了HashMap的原理,这一节是ConcurrentMap的最后一节,所以会完整的介绍ConcurrentHashMap的实现。ConcurrentHashMap原理在读写锁章节部分介绍过一种是用读写锁实现Map的方法。此种方法看起来可以实现Map响应的功能,而且吞吐量也应该不错。但是...
分类:编程语言   时间:2014-12-02 23:57:49    阅读次数:324
(转)java 线程
转自http://blog.csdn.net/column/details/java-thread.htmlhttp://www.ibm.com/developerworks/cn/java/j-concurrent/synchronized的语义确实保证了一次只有一个线程可以访问被保护的区段,但同...
分类:编程语言   时间:2014-12-02 23:56:37    阅读次数:266
[JavaEE] IBM - Spring 系列: Spring 框架简介
Spring AOP 和 IOC 容器入门 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级的、强壮的 J2EE 应用程序。developerWorks 的定期投稿人 Naveen Balani 通过介绍 Spring 框架开始了他由三部...
分类:编程语言   时间:2014-12-02 23:56:48    阅读次数:443
深入浅出 Java Concurrency (10): 锁机制 part 5 闭锁 (CountDownLatch)[转]
此小节介绍几个与锁有关的有用工具。闭锁(Latch)闭锁(Latch):一种同步方法,可以延迟线程的进度直到线程到达某个终点状态。通俗的讲就是,一个闭锁相当于一扇大门,在大门打开之前所有线程都被阻断,一旦大门打开所有线程都将通过,但是一旦大门打开,所有线程都通过了,那么这个闭锁的状态就失效了,门的状...
分类:编程语言   时间:2014-12-02 23:55:44    阅读次数:243
线程问题
线程的基本概念、线程的基本状态以及状态之间的关系?线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身;Java 中的线程有四种状态分别是:运行、就绪、挂起、结束。sleep() 和wait() 有什么区别:sleep 是线程类(Thread)的方法,导致...
分类:编程语言   时间:2014-12-02 23:56:12    阅读次数:247
深入浅出 Java Concurrency (26): 并发容器 part 11 Exchanger[转]
可以在对中对元素进行配对和交换的线程的同步点。每个线程将条目上的某个方法呈现给exchange方法,与伙伴线程进行匹配,并且在返回时接收其伙伴的对象。Exchanger 可能被视为SynchronousQueue的双向形式。换句话说Exchanger提供的是一个交换服务,允许原子性的交换两个(多个)...
分类:编程语言   时间:2014-12-02 23:56:08    阅读次数:216
深入浅出 Java Concurrency (33): 线程池 part 6 线程池的实现及原理 (1)[转]
线程池数据结构与线程构造方法由于已经看到了ThreadPoolExecutor的源码,因此很容易就看到了ThreadPoolExecutor线程池的数据结构。图1描述了这种数据结构。图1 ThreadPoolExecutor 数据结构其实,即使没有上述图形描述ThreadPoolExecutor的数...
分类:编程语言   时间:2014-12-02 23:56:03    阅读次数:288
Java多线程 - 线程组
Java使用ThreadGroup来表示线程组,用以对一批线程进行分类管理。 Java允许程序对线程组直接进行控制,对线程组的控制相当于同时控制这批线程; 用户创建的所有线程都属于指定线程组,如果程序没有显式指定线程属于哪个线程组,则该线程属于默认线程组; 默认情况下,子线程和创建它的父线程处于同一...
分类:编程语言   时间:2014-12-02 23:56:37    阅读次数:165
POJ 1159 回文LCS滚动数组优化
详细解题报告可以看这个PPT这题如果是直接开int 5000 * 5000 的空间肯定会MLE,优化方法是采用滚动数组。原LCS转移方程 :dp[i][j] = dp[i - 1][j] + dp[i][j -1]因为 dp[i][j] 只依赖于 dp[i - 1][j] 和 dp[i][j - ....
分类:编程语言   时间:2014-12-02 23:54:27    阅读次数:175
深入浅出 Java Concurrency (14): 锁机制 part 9 读写锁 (ReentrantReadWriteLock) (2)[转]
这一节主要是谈谈读写锁的实现。上一节中提到,ReadWriteLock看起来有两个锁:readLock/writeLock。如果真的是两个锁的话,它们之间又是如何相互影响的呢?事实上在ReentrantReadWriteLock里锁的实现是靠java.util.concurrent.locks.Re...
分类:编程语言   时间:2014-12-02 23:55:44    阅读次数:297
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!