skywang12345

导航

 

2014年2月13日

摘要: 概要UML,全称是Unified Modeling Language,中文是"统一建模语言"。通俗点说,UML是一种创建模型的语言。UML是在开发阶段,说明,可视化,构建和书写一个面向对象软件密集系统的制品的开放方法。它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。本章介绍通过UML绘图工具: visio。visio是Windows系统下创建图表的工具。visio 的下载地址: http://pan.baidu.com/s/1i39N8fb转载请注明出处:http://www.cnblo 阅读全文
posted @ 2014-02-13 09:24 如果天空不死 阅读(22328) 评论(9) 推荐(7) 编辑
 

2014年2月12日

摘要: 概要本章介绍《Java Puzzles》中关于异常的几个谜题。这一章都是以代码为例,相比上一章看起来更有意思。内容包括:谜题1: 优柔寡断谜题2: 极端不可思议谜题3: 不受欢迎的宾客谜题4: 您好,再见!谜题5: 不情愿的构造器谜题6: 域和流谜题7: 异常为循环而抛转载请注明出处:http://www.cnblogs.com/skywang12345/p/3544353.html谜题1: 优柔寡断看看下面的程序,它到底打印什么?public class Indecisive { public static void main(String[] args) { Syste... 阅读全文
posted @ 2014-02-12 21:39 如果天空不死 阅读(8287) 评论(2) 推荐(4) 编辑
 
摘要: 概要本章是从《Effective Java》摘录整理出来的关于异常处理的几条建议。内容包括:第1条: 只针对不正常的情况才使用异常第2条: 对于可恢复的条件使用被检查的异常,对于程序错误使用运行时异常第3条: 避免不必要的使用被检查的异常第4条: 尽量使用标准的异常第5条: 抛出的异常要适合于相应的抽象第6条: 每个方法抛出的异常都要有文档第7条: 在细节消息中包含失败 -- 捕获消息第8条: 努力使失败保持原子性第9条: 不要忽略异常它们对应原书中"第8章 异常"部分的第39-47条。转载请注明出处:http://www.cnblogs.com/skywang12345/ 阅读全文
posted @ 2014-02-12 15:28 如果天空不死 阅读(8388) 评论(1) 推荐(6) 编辑
 
摘要: 概要本章对Java中的异常进行介绍。内容包括:Java异常简介Java异常框架转载请注明出处:http://www.cnblogs.com/skywang12345/p/3544168.htmlJava异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制。 Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。在有效使用异常的情况下,异常能清晰的回答what, where, why这3个问题:异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪“抛出,异常信息回答了“为什么“会抛出。Java异常机制用到的几个关键字:try、c.. 阅读全文
posted @ 2014-02-12 09:22 如果天空不死 阅读(46393) 评论(4) 推荐(31) 编辑
 

2014年2月11日

摘要: 概要本章介绍线程池中的Callable和Future。Callable 和 Future 简介示例和源码分析(基于JDK1.7.0_40)转载请注明出处:http://www.cnblogs.com/skywang12345/p/3544116.htmlCallable 和 Future 简介 Callable 和 Future 是比较有趣的一对组合。当我们需要获取线程的执行结果时,就需要用到它们。Callable用于产生结果,Future用于获取结果。1. CallableCallable 是一个接口,它只包含一个call()方法。Callable是一个返回结果并且可能抛出异常的任务。为了. 阅读全文
posted @ 2014-02-11 20:00 如果天空不死 阅读(14421) 评论(7) 推荐(13) 编辑
 
摘要: 下面是Java的时间和日期相关文章目录:01.Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知和使用(1) Calendar02.Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知和使用(2) 自己封装的Calendar接口03.Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知和使用(3) Date04.Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知 阅读全文
posted @ 2014-02-11 17:22 如果天空不死 阅读(4343) 评论(0) 推荐(4) 编辑
 
摘要: 概要本章介绍线程池的拒绝策略。内容包括:拒绝策略介绍拒绝策略对比和示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3512947.html拒绝策略介绍线程池的拒绝策略,是指当任务添加到线程池中被拒绝,而采取的处理措施。当任务添加到线程池中之所以被拒绝,可能是由于:第一,线程池异常关闭。第二,任务数量超过线程池的最大限制。线程池共包括4种拒绝策略,它们分别是:AbortPolicy, CallerRunsPolicy, DiscardOldestPolicy和DiscardPolicy。AbortPolicy -- 当任务添加到线程... 阅读全文
posted @ 2014-02-11 09:38 如果天空不死 阅读(24415) 评论(5) 推荐(15) 编辑
 

2014年2月10日

摘要: 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3509960.html本章介绍线程池的生命周期。在"Java多线程系列--“基础篇”01之 基本概念"中,我们介绍过,线程有5种状态:新建状态,就绪状态,运行状态,阻塞状态,死亡状态。线程池也有5种状态;然而,线程池不同于线程,线程池的5种状态是:Running, SHUTDOWN, STOP, TIDYING, TERMINATED。线程池状态定义代码如下:private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNN 阅读全文
posted @ 2014-02-10 17:06 如果天空不死 阅读(11321) 评论(4) 推荐(12) 编辑
 
摘要: 概要在前面一章"Java多线程系列--“JUC线程池”02之 线程池原理(一)"中介绍了线程池的数据结构,本章会通过分析线程池的源码,对线程池进行说明。内容包括:线程池示例参考代码(基于JDK1.7.0_40)线程池源码分析 (一) 创建“线程池” (二) 添加任务到“线程池” (三) 关闭“线程池”转载请注明出处:http://www.cnblogs.com/skywang12345/p/3509954.html线程池示例在分析线程池之前,先看一个简单的线程池示例。 1 import java.util.concurrent.Executors; 2 import jav 阅读全文
posted @ 2014-02-10 08:59 如果天空不死 阅读(18262) 评论(4) 推荐(10) 编辑
 

2014年2月9日

摘要: 概要在上一章"Java多线程系列--“JUC线程池”01之 线程池架构"中,我们了解了线程池的架构。线程池的实现类是ThreadPoolExecutor类。本章,我们通过分析ThreadPoolExecutor类,来了解线程池的原理。内容包括:ThreadPoolExecutor简介ThreadPoolExecutor数据结构线程池调度转载请注明出处:http://www.cnblogs.com/skywang12345/p/3509941.htmlThreadPoolExecutor简介ThreadPoolExecutor是线程池类。对于线程池,可以通俗的将它理解为&qu 阅读全文
posted @ 2014-02-09 19:22 如果天空不死 阅读(19679) 评论(4) 推荐(14) 编辑
 

2014年2月8日

摘要: 概要前面分别介绍了"Java多线程基础"、"JUC原子类"和"JUC锁"。本章介绍JUC的最后一部分的内容——线程池。内容包括:线程池架构图线程池示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3509903.html线程池架构图线程池的架构图如下:1. Executor它是"执行者"接口,它是来执行任务的。准确的说,Executor提供了execute()接口来执行已提交的 Runnable 任务的对象。Executor存在的目的是提供一种将"任务提交&q 阅读全文
posted @ 2014-02-08 18:39 如果天空不死 阅读(27801) 评论(4) 推荐(10) 编辑
 

2014年2月3日

摘要: 概要本章对Java.util.concurrent包中的ConcurrentHashMap类进行详细的介绍。内容包括:ConcurrentLinkedQueue介绍ConcurrentLinkedQueue原理和数据结构ConcurrentLinkedQueue函数列表ConcurrentLinkedQueue源码分析(JDK1.7.0_40版本)ConcurrentLinkedQueue示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498995.htmlConcurrentLinkedQueue介绍ConcurrentLinkedQueue 阅读全文
posted @ 2014-02-03 20:04 如果天空不死 阅读(14746) 评论(3) 推荐(0) 编辑
 

2014年2月2日

摘要: 概要本章介绍JUC包中的LinkedBlockingDeque。内容包括:LinkedBlockingDeque介绍LinkedBlockingDeque原理和数据结构LinkedBlockingDeque函数列表LinkedBlockingDeque源码分析(JDK1.7.0_40版本)LinkedBlockingDeque示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3503480.htmlLinkedBlockingDeque介绍LinkedBlockingDeque是双向链表实现的双向并发阻塞队列。该阻塞队列同时支持FIFO和FILO两 阅读全文
posted @ 2014-02-02 19:09 如果天空不死 阅读(15741) 评论(2) 推荐(0) 编辑
 

2014年2月1日

摘要: 概要本章介绍JUC包中的LinkedBlockingQueue。内容包括:LinkedBlockingQueue介绍LinkedBlockingQueue原理和数据结构LinkedBlockingQueue函数列表LinkedBlockingQueue源码分析(JDK1.7.0_40版本)LinkedBlockingQueue示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3503458.htmlLinkedBlockingQueue介绍LinkedBlockingQueue是一个单向链表实现的阻塞队列。该队列按 FIFO(先进先出)排序元素,新 阅读全文
posted @ 2014-02-01 10:04 如果天空不死 阅读(13361) 评论(4) 推荐(6) 编辑
 

2014年1月31日

摘要: 概要本章对Java.util.concurrent包中的ArrayBlockingQueue类进行详细的介绍。内容包括:ArrayBlockingQueue介绍ArrayBlockingQueue原理和数据结构ArrayBlockingQueue函数列表ArrayBlockingQueue源码分析(JDK1.7.0_40版本)ArrayBlockingQueue示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498652.htmlArrayBlockingQueue介绍ArrayBlockingQueue是数组实现的线程安全的有界的阻塞队列。线 阅读全文
posted @ 2014-01-31 09:52 如果天空不死 阅读(21940) 评论(8) 推荐(4) 编辑
 
摘要: 概要本章对Java.util.concurrent包中的ConcurrentSkipListSet类进行详细的介绍。内容包括:ConcurrentSkipListSet介绍ConcurrentSkipListSet原理和数据结构ConcurrentSkipListSet函数列表ConcurrentSkipListSet源码(JDK1.7.0_40版本)ConcurrentSkipListSet示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498634.htmlConcurrentSkipListSet介绍ConcurrentSkipListS 阅读全文
posted @ 2014-01-31 00:54 如果天空不死 阅读(15632) 评论(2) 推荐(3) 编辑
 

2014年1月30日

摘要: 概要本章对Java.util.concurrent包中的ConcurrentSkipListMap类进行详细的介绍。内容包括:ConcurrentSkipListMap介绍ConcurrentSkipListMap原理和数据结构ConcurrentSkipListMap函数列表ConcurrentSkipListMap源码分析(JDK1.7.0_40版本)ConcurrentSkipListMap示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498556.htmlConcurrentSkipListMap介绍ConcurrentSkipLis 阅读全文
posted @ 2014-01-30 13:44 如果天空不死 阅读(20962) 评论(6) 推荐(4) 编辑
 

2014年1月29日

摘要: 概要本章是JUC系列的ConcurrentHashMap篇。内容包括:ConcurrentHashMap介绍ConcurrentHashMap原理和数据结构ConcurrentHashMap函数列表ConcurrentHashMap源码分析(JDK1.7.0_40版本)ConcurrentHashMap示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498537.htmlConcurrentHashMap介绍ConcurrentHashMap是线程安全的哈希表。HashMap, Hashtable, ConcurrentHashMap之间的关联 阅读全文
posted @ 2014-01-29 19:48 如果天空不死 阅读(19754) 评论(7) 推荐(7) 编辑
 
摘要: 概要本章是JUC系列中的CopyOnWriteArraySet篇。接下来,会先对CopyOnWriteArraySet进行基本介绍,然后再说明它的原理,接着通过代码去分析,最后通过示例更进一步的了解CopyOnWriteArraySet。内容包括:CopyOnWriteArraySet介绍CopyOnWriteArraySet原理和数据结构CopyOnWriteArraySet函数列表CopyOnWriteArraySet源码(JDK1.7.0_40版本)CopyOnWriteArraySet示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/349 阅读全文
posted @ 2014-01-29 08:57 如果天空不死 阅读(14274) 评论(0) 推荐(2) 编辑
 

2014年1月28日

摘要: 概要本章是"JUC系列"的CopyOnWriteArrayList篇。接下来,会先对CopyOnWriteArrayList进行基本介绍,然后再说明它的原理,接着通过代码去分析,最后通过示例更进一步的了解CopyOnWriteArrayList。内容包括:CopyOnWriteArrayList介绍CopyOnWriteArrayList原理和数据结构CopyOnWriteArrayList函数列表CopyOnWriteArrayList源码分析(JDK1.7.0_40版本)CopyOnWriteArrayList示例转载请注明出处:http://www.cnblogs.c 阅读全文
posted @ 2014-01-28 18:46 如果天空不死 阅读(22104) 评论(18) 推荐(7) 编辑
 
摘要: 概要之前,在"Java 集合系列目录(Category)"中,讲解了Java集合包中的各个类。接下来,将展开对JUC包中的集合进行学习。在学习之前,先温习一下"Java集合包"。本章内容包括:Java集合包JUC中的集合类转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498454.htmlJava集合包在“Java 集合系列01之 总体框架”中,介绍java集合的架构。主体内容包括Collection集合和Map类;而Collection集合又可以划分为List(队列)和Set(集合)。1. List的实现 阅读全文
posted @ 2014-01-28 00:48 如果天空不死 阅读(25131) 评论(1) 推荐(5) 编辑
 

2014年1月27日

摘要: 概要本章,我们对JUC包中的信号量Semaphore进行学习。内容包括:Semaphore简介Semaphore数据结构Semaphore源码分析(基于JDK1.7.0_40)Semaphore示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3534050.htmlSemaphore简介Semaphore是一个计数信号量,它的本质是一个"共享锁"。信号量维护了一个信号量许可集。线程可以通过调用acquire()来获取信号量的许可;当信号量中有可用的许可时,线程能获取该许可;否则线程必须等待,直到有可用的许可为止。 线程可以通过 阅读全文
posted @ 2014-01-27 08:58 如果天空不死 阅读(14479) 评论(4) 推荐(5) 编辑
 

2014年1月26日

摘要: 概要本章介绍JUC包中的CyclicBarrier锁。内容包括:CyclicBarrier简介CyclicBarrier数据结构CyclicBarrier源码分析(基于JDK1.7.0_40)CyclicBarrier示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3533995.htmlCyclicBarrier简介CyclicBarrier是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。注意比较C 阅读全文
posted @ 2014-01-26 20:37 如果天空不死 阅读(20801) 评论(2) 推荐(7) 编辑
 
摘要: 概要前面对"独占锁"和"共享锁"有了个大致的了解;本章,我们对CountDownLatch进行学习。和ReadWriteLock.ReadLock一样,CountDownLatch的本质也是一个"共享锁"。本章的内容包括:CountDownLatch简介CountDownLatch数据结构CountDownLatch源码分析(基于JDK1.7.0_40)CountDownLatch示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3533887.htmlCountDownLatch简介Co 阅读全文
posted @ 2014-01-26 12:07 如果天空不死 阅读(32355) 评论(4) 推荐(16) 编辑
 

2014年1月25日

摘要: 概要Java的JUC(java.util.concurrent)包中的锁包括"独占锁"和"共享锁"。在“Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock ”中,对Java的独占锁进行了说明。本章对Java的“共享锁”进行介绍,JUC中的共享锁有CountDownLatch, CyclicBarrier, Semaphore, ReentrantReadWriteLock等;本章会以ReentrantReadWriteLock为蓝本对共享锁进行说明。内容包括:ReadWriteLock 和 ReentrantReadWriteLo 阅读全文
posted @ 2014-01-25 21:31 如果天空不死 阅读(22133) 评论(8) 推荐(2) 编辑
 
摘要: 概述本章介绍JUC(java.util.concurrent)包中的LockSupport。内容包括:LockSupport介绍LockSupport函数列表LockSupport参考代码(基于JDK1.7.0_40)LockSupport示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3505784.htmlLockSupport介绍LockSupport是用来创建锁和其他同步类的基本线程阻塞原语。 LockSupport中的park() 和 unpark() 的作用分别是阻塞线程和解除阻塞线程,而且park()和unpark()不会遇到“T 阅读全文
posted @ 2014-01-25 10:41 如果天空不死 阅读(25379) 评论(0) 推荐(7) 编辑
 

2014年1月24日

摘要: 概要前面对JUC包中的锁的原理进行了介绍,本章会JUC中对与锁经常配合使用的Condition进行介绍,内容包括:Condition介绍Condition函数列表Condition示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3496716.htmlCondition介绍Condition的作用是对锁进行更精确的控制。Condition中的await()方法相当于Object的wait()方法,Condition中的signal()方法相当于Object的notify()方法,Condition中的signalAll()相当于Object的no 阅读全文
posted @ 2014-01-24 13:56 如果天空不死 阅读(34406) 评论(12) 推荐(6) 编辑
 

2014年1月22日

摘要: 概要前面两章分析了"公平锁的获取和释放机制",这一章开始对“非公平锁”的获取锁/释放锁的过程进行分析。内容包括:参考代码获取非公平锁(基于JDK1.7.0_40)释放非公平锁(基于JDK1.7.0_40)关于锁的数据结构请参考"Java多线程系列--“JUC锁”03之 公平锁(一)",锁的使用示例请参考“Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock”。转载请注明出处:http://www.cnblogs.com/skywang12345/p/3496651.html参考代码下面给出Java1.7.0_40版本中,Reentr 阅读全文
posted @ 2014-01-22 19:38 如果天空不死 阅读(12127) 评论(10) 推荐(5) 编辑
 

2014年1月21日

摘要: 概要前面一章,我们学习了“公平锁”获取锁的详细流程;这里,我们再来看看“公平锁”释放锁的过程。内容包括:参考代码释放公平锁(基于JDK1.7.0_40)“公平锁”的获取过程请参考“Java多线程系列--“JUC锁”03之 公平锁(一)”,锁的使用示例请参考“Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock”。注意:(01) 这里是以“公平锁”来进行说明。(02) 关于本章的术语,如“AQS”,“CAS函数”,“CLH队列”,“公平锁”,“非公平锁”,“独占锁”,“共享锁”等内容,请参考Java多线程系列--“JUC锁”03之 公平锁(一)的基本概念。转载请注明出处:h 阅读全文
posted @ 2014-01-21 18:15 如果天空不死 阅读(14585) 评论(5) 推荐(2) 编辑
 

2014年1月20日

摘要: 概要本章对“公平锁”的获取锁机制进行介绍(本文的公平锁指的是互斥锁的公平锁),内容包括:基本概念ReentrantLock数据结构参考代码获取公平锁(基于JDK1.7.0_40) 一. tryAcquire() 二. addWaiter() 三. acquireQueued() 四. selfInterrupt()“公平锁”的释放锁的机制在后面一章再做介绍,锁的使用示例请参考“Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock”。转载请注明出处:http://www.cnblogs.com/skywang12345/p/3496147.html基本概念本章,我们会讲解“ 阅读全文
posted @ 2014-01-20 22:05 如果天空不死 阅读(30863) 评论(20) 推荐(17) 编辑
 

2014年1月19日

摘要: 本章对ReentrantLock包进行基本介绍,这一章主要对ReentrantLock进行概括性的介绍,内容包括:ReentrantLock介绍ReentrantLock函数列表ReentrantLock示例在后面的两章,会分别介绍ReentrantLock的两个子类(公平锁和非公平锁)的实现原理。转载请注明出处:http://www.cnblogs.com/skywang12345/p/3496101.htmlReentrantLock介绍ReentrantLock是一个可重入的互斥锁,又被称为“独占锁”。顾名思义,ReentrantLock锁在同一个时间点只能被一个线程锁持有;而可重入的意 阅读全文
posted @ 2014-01-19 21:54 如果天空不死 阅读(29390) 评论(14) 推荐(22) 编辑
 
摘要: 本章,我们介绍锁的架构;后面的章节将会对它们逐个进行分析介绍。目录如下:01.Java多线程系列--“JUC锁”01之 框架02.Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock03.Java多线程系列--“JUC锁”03之 公平锁(一)04.Java多线程系列--“JUC锁”04之 公平锁(二)05.Java多线程系列--“JUC锁”05之 非公平锁06.Java多线程系列--“JUC锁”06之 Condition条件07.Java多线程系列--“JUC锁”07之 LockSupport08.Java多线程系列--“JUC锁”08之 共享锁和ReentrantRea 阅读全文
posted @ 2014-01-19 20:34 如果天空不死 阅读(33274) 评论(8) 推荐(27) 编辑
 
摘要: 概要AtomicIntegerFieldUpdater, AtomicLongFieldUpdater和AtomicReferenceFieldUpdater这3个修改类的成员的原子类型的原理和用法相似。本章以对基本类型的原子类进行介绍。内容包括:AtomicLongFieldUpdater介绍和函数列表AtomicLongFieldUpdater示例AtomicLongFieldUpdater源码分析(基于JDK1.7.0_40)转载请注明出处:http://www.cnblogs.com/skywang12345/p/3514623.htmlAtomicLongFieldUpdater介绍 阅读全文
posted @ 2014-01-19 14:36 如果天空不死 阅读(12084) 评论(0) 推荐(3) 编辑
 
摘要: 概要本章对AtomicReference引用类型的原子类进行介绍。内容包括:AtomicReference介绍和函数列表AtomicReference源码分析(基于JDK1.7.0_40)AtomicReference示例转载请注明出处:http://www.cnblogs.com/skywang1... 阅读全文
posted @ 2014-01-19 09:34 如果天空不死 阅读(41991) 评论(3) 推荐(8) 编辑
 

2014年1月18日

摘要: 概要AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray这3个数组类型的原子类的原理和用法相似。本章以AtomicLongArray对数组类型的原子类进行介绍。内容包括:AtomicLongArray介绍和函数列表AtomicLongArray源码分析(基于JDK1.7.0_40)AtomicLongArray示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3514604.htmlAtomicLongArray介绍和函数列表在"Java多线程系列--“JUC原子类”02之 A 阅读全文
posted @ 2014-01-18 14:24 如果天空不死 阅读(12411) 评论(0) 推荐(2) 编辑
 

2014年1月17日

摘要: 概要AtomicInteger, AtomicLong和AtomicBoolean这3个基本类型的原子类的原理和用法相似。本章以AtomicLong对基本类型的原子类进行介绍。内容包括:AtomicLong介绍和函数列表AtomicLong源码分析(基于JDK1.7.0_40)AtomicLong示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3514593.htmlAtomicLong介绍和函数列表AtomicLong是作用是对长整形进行原子操作。在32位操作系统中,64位的long 和 double 变量由于会被JVM当作两个分离的32位来进 阅读全文
posted @ 2014-01-17 23:18 如果天空不死 阅读(31145) 评论(6) 推荐(5) 编辑
 
摘要: 根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。1.基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;2.数组类型: AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray ;3.引用类型: AtomicReference, AtomicStampedRerence, AtomicMarkableReference ;4.对象的属性修改类型: AtomicIntegerFieldUpdater, AtomicLongFieldUpdater, AtomicReferenceF 阅读全文
posted @ 2014-01-17 09:35 如果天空不死 阅读(20874) 评论(1) 推荐(23) 编辑
 
摘要: 概要文章是《深入理解Java内容模型》读书笔记,该书总共包括了3部分的知识。第1部分,基本概念 包括“并发、同步、主内存、本地内存、重排序、内存屏障、happens before规则、as-if-serial规则、数据依赖性、顺序一致性模型、JMM的含义和意义”。第2部分,同步机制 该部分中就介绍了“同步”的3种方式:volatile、锁、final。对于每一种方式,从该方式的“特性”、“建立的happens before关系”、“对应的内存语义”、“实现方式”等几个方面进行了分析说明。实际上,JMM保证“如果程序正确同步,则执行结果与顺序一致性内存模型的结果相... 阅读全文
posted @ 2014-01-17 00:24 如果天空不死 阅读(31238) 评论(6) 推荐(18) 编辑
 

2014年1月16日

摘要: 概要本章,会对“生产/消费者问题”进行讨论。涉及到的内容包括:1. 生产/消费者模型2. 生产/消费者实现转载请注明出处:http://www.cnblogs.com/skywang12345/p/3480016.html1. 生产/消费者模型生产/消费者问题是个非常典型的多线程问题,涉及到的对象包括“生产者”、“消费者”、“仓库”和“产品”。他们之间的关系如下:(01) 生产者仅仅在仓储未满时候生产,仓满则停止生产。(02) 消费者仅仅在仓储有产品时候才能消费,仓空则等待。(03) 当消费者发现仓储没产品可消费时候会通知生产者生产。(04) 生产者在生产出可消费产品时候,应该通知等待的消费者 阅读全文
posted @ 2014-01-16 09:36 如果天空不死 阅读(20128) 评论(12) 推荐(13) 编辑
 

2014年1月15日

摘要: 概要本章,会对守护线程和线程优先级进行介绍。涉及到的内容包括:1. 线程优先级的介绍2. 线程优先级的示例3. 守护线程的示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3479982.html1. 线程优先级的介绍java 中的线程优先级的范围是1~10,默认的优先级是5。“高优先级线程”会优先于“低优先级线程”执行。java 中有两种线程:用户线程和守护线程。可以通过isDaemon()方法来区别它们:如果返回false,则说明该线程是“用户线程”;否则就是“守护线程”。用户线程一般用户执行用户级任务,而守护线程也就是“后台线程”,一般用来执 阅读全文
posted @ 2014-01-15 10:55 如果天空不死 阅读(24055) 评论(12) 推荐(11) 编辑