上一页 1 ··· 6 7 8 9 10 11 12 13 下一页
摘要: 一、前言 之前已经介绍了操作系统的各个模块,现在来具体深入学习操作系统中的进程管理。 二、进程的基本概念 在未配置OS的系统中,程序的执行方式是顺序执行,即必须在一个程序执行完成后,才允许另外一个程序执行;在多道程序环境下,则允许多个程序并发执行。也正是程序的并发执行,才导致引入进程。 2.1 程序 阅读全文
posted @ 2016-06-21 15:05 leesf 阅读(19457) 评论(7) 推荐(31) 编辑
摘要: 一、前言 分析完适配器模式后,接着看外观模式,外观模式很简单,可以理解为在复杂系统上封装了一层,提供了统一的接口,而让客户端只需要与该接口通信便可控制背后复杂的系统。 二、外观模式定义 定义:提供了统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。 从定义可知,外观 阅读全文
posted @ 2016-06-18 19:16 leesf 阅读(795) 评论(0) 推荐(3) 编辑
摘要: 一、前言 接着看设计模式,今天介绍的是适配器模式,适配器对于大家应该不陌生,就是适配两种不同类型的物体。如两孔插座和三孔插头之间就需要用到适配器才能正常工作,而在程序世界中,也存在着适配器,下面来分析适配器模式。 二、适配器模式定义 定义:将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口 阅读全文
posted @ 2016-06-18 17:06 leesf 阅读(674) 评论(0) 推荐(2) 编辑
摘要: 一、前言 JUC这部分还有线程池这一块没有分析,需要抓紧时间分析,下面开始ThreadPoolExecutor,其是线程池的基础,分析完了这个类会简化之后的分析,线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包 阅读全文
posted @ 2016-06-17 14:33 leesf 阅读(8484) 评论(8) 推荐(19) 编辑
摘要: 一、前言 读完单例模式,接着品命令模式,命令模式在工程实践中有应用,如MVC框架中使用了命令模式,还有日志系统(从异常中恢复)和事务系统都可以使用命令模式,命令模式可以解耦命令请求者和命令执行者,下面开始学习命令模式。 二、命令模式定义 定义:命令模式将请求封装成对象,以便使用不同的请求、队列或者日 阅读全文
posted @ 2016-06-13 15:03 leesf 阅读(625) 评论(0) 推荐(2) 编辑
摘要: 一、前言 端午小长假冷不丁的就完了,那么接着品设计模式,今天要介绍的设计模式是单例模式,单例模式在编程中的使用很广泛,如线程池、缓存等都可采用单例模式来保证整个系统只有一个实例。然而,如何保证只有唯一一个实例是值得探讨的问题,下面开始介绍单例模式。 二、单例模式定义 定义:确保一个类只有一个实例,并 阅读全文
posted @ 2016-06-12 20:03 leesf 阅读(854) 评论(1) 推荐(5) 编辑
摘要: 一、前言 本篇是在分析Executors源码时,发现JUC集合框架中的一个重要类没有分析,SynchronousQueue,该类在线程池中的作用是非常明显的,所以很有必要单独拿出来分析一番,这对于之后理解线程池有很有好处,SynchronousQueue是一种阻塞队列,其中每个插入操作必须等待另一个 阅读全文
posted @ 2016-06-06 15:29 leesf 阅读(3986) 评论(4) 推荐(11) 编辑
摘要: 一、前言 接着继续品读设计模式,下面介绍装饰者模式,装饰者模式在JAVA中的应用相当的广泛,如JAVA IO框架就是装饰者模式的典型应用,当时最开始使用JAVA IO时,简直是一团雾水,不明白读文件为什么需要用到这么多类,觉得很复杂,后来看了装饰者模式之后,再来看JAVA IO,则简单多了。下面,就 阅读全文
posted @ 2016-06-04 19:47 leesf 阅读(627) 评论(0) 推荐(3) 编辑
摘要: 一、前言 前面学习了策略模式,接着学习观察者模式,观察者模式是一个很常用的模式,如订阅RSS这个功能就适合使用观察者模式来实现,园友订阅了博客园文章后,当博客园的文章有更新时,会收到相应的通知,这就是观察者模式的应用,并且JDK中都内置了对观察者模式的支持,下面来学习观察者模式。 二、观察者模式定义 阅读全文
posted @ 2016-06-02 08:15 leesf 阅读(1020) 评论(0) 推荐(10) 编辑
摘要: 一、前言 在分析完了JUC的锁和集合框架后,下面进入JUC线程池框架的分析,下面给出JUC线程池的总体框架,之后再逐一进行分析。 二、JUC线程池框架图 说明:从上图可知,JUC线程池框架中的其他接口或类都直接或间接的继承了Executor接口,虽然Executors与其他类或者接口没有明显的关系, 阅读全文
posted @ 2016-06-01 19:09 leesf 阅读(1520) 评论(0) 推荐(4) 编辑
摘要: JUC集合框架的目录整理如下: 1. 【JUC】JUC集合框架综述 2. 【JUC】JDK1.8源码分析之ConcurrentHashMap(一) 3. 【JUC】JDK1.8源码分析之ConcurrentSkipListMap(二) 4. 【JUC】JDK1.8源码分析之ArrayBlocking 阅读全文
posted @ 2016-06-01 16:45 leesf 阅读(2470) 评论(0) 推荐(5) 编辑
摘要: 一、前言 分析完了CopyOnWriteArraySet后,继续分析Set集合在JUC框架下的另一个集合,ConcurrentSkipListSet,ConcurrentSkipListSet一个基于 ConcurrentSkipListMap 的可缩放并发 NavigableSet 实现。set 阅读全文
posted @ 2016-06-01 15:38 leesf 阅读(1810) 评论(0) 推荐(3) 编辑
摘要: 一、前言 分析完了CopyOnWriteArrayList后,下面接着分析CopyOnWriteArraySet,CopyOnWriteArraySet与CopyOnWriteArrayList有莫大的联系,因为CopyOnWriteArraySet的底层是由CopyOnWriteArrayList 阅读全文
posted @ 2016-06-01 14:34 leesf 阅读(1401) 评论(0) 推荐(4) 编辑
摘要: 一、前言 由于Deque与Queue有很大的相似性,Deque为双端队列,队列头部和尾部都可以进行入队列和出队列的操作,所以不再介绍Deque,感兴趣的读者可以自行阅读源码,相信偶了Queue源码的分析经验,Deque的分析也会水到渠成,下面介绍List在JUC下的CopyOnWriteArrayL 阅读全文
posted @ 2016-06-01 10:44 leesf 阅读(2440) 评论(2) 推荐(10) 编辑
摘要: 一、前言 笔者在看JDK源码的同时也穿插着看设计模式,之前有涉猎设计模式,但是没有进行总结和提炼,现在再读一遍设计模式,感觉受益匪浅,也特此进行记录。下面设计模式系列是以《Head First 设计模式》书为参考。有兴趣的读者可以购买,讲解得浅显易懂。 二、策略模式 定义:策略模式定义了算法族,分别 阅读全文
posted @ 2016-05-31 22:14 leesf 阅读(680) 评论(0) 推荐(4) 编辑
摘要: 一、前言 接着前面的分析,接下来分析ConcurrentLinkedQueue,ConcurerntLinkedQueue一个基于链接节点的无界线程安全队列。此队列按照 FIFO(先进先出)原则对元素进行排序。队列的头部是队列中时间最长的元素。队列的尾部 是队列中时间最短的元素。新的元素插入到队列的 阅读全文
posted @ 2016-05-31 16:10 leesf 阅读(1883) 评论(2) 推荐(6) 编辑
摘要: 一、前言 分析完了ArrayBlockingQueue后,接着分析LinkedBlockingQueue,与ArrayBlockingQueue不相同,LinkedBlockingQueue底层采用的是链表结构,其源码也相对比较简单,下面进行正式的分析。 二、LinkedBlockingQueue数 阅读全文
posted @ 2016-05-29 11:07 leesf 阅读(2923) 评论(1) 推荐(7) 编辑
摘要: 一、前言 在完成Map下的并发集合后,现在来分析ArrayBlockingQueue,ArrayBlockingQueue可以用作一个阻塞型队列,支持多任务并发操作,有了之前看源码的积累,再看ArrayBlockingQueue源码会很容易,下面开始正文。 二、ArrayBlockingQueue数 阅读全文
posted @ 2016-05-27 15:45 leesf 阅读(2347) 评论(0) 推荐(9) 编辑
摘要: 一、前言 最近在做项目的同时也在修复之前项目的一些Bug,所以忙得没有时间看源代码,今天都完成得差不多了,所以又开始源码分析之路,也着笔记录下ConcurrentSkipListMap的源码的分析过程。 二、ConcurrentSkipListMap数据结构 抓住了数据结构,对于理解整个Concur 阅读全文
posted @ 2016-05-26 21:13 leesf 阅读(3006) 评论(7) 推荐(9) 编辑
摘要: 一、前言 最近几天忙着做点别的东西,今天终于有时间分析源码了,看源码感觉很爽,并且发现ConcurrentHashMap在JDK1.8版本与之前的版本在并发控制上存在很大的差别,很有必要进行认真的分析,下面进行源码分析。 二、ConcurrentHashMap数据结构 之前已经提及过,Concurr 阅读全文
posted @ 2016-05-03 22:06 leesf 阅读(9392) 评论(4) 推荐(19) 编辑
摘要: JUC锁框架的目录整理如下: 1. 【JUC】JUC锁框架综述 2. 【JUC】JDK1.8源码分析之LockSupport(一) 3. 【JUC】JDK1.8源码分析之AbstractQueuedSynchronizer(二) 4. 【JUC】JDK1.8源码分析之ReentrantLock(三) 阅读全文
posted @ 2016-05-02 20:57 leesf 阅读(3225) 评论(1) 推荐(4) 编辑
摘要: 一、前言 完成了JUC的锁框架的分析后,现在分析JUC集合框架,之前分析过的集合框架,很大程度上都不是线程安全的,其在多线程环境下会出现很多问题,为了保证在多线程环境下仍然能够正确安全的访问集合,出现了JUC下的集合框架,下面逐一进行介绍分析。 二、JUC集合框架图 下面给出JUC中的集合框架,之后 阅读全文
posted @ 2016-04-26 17:39 leesf 阅读(3652) 评论(0) 推荐(5) 编辑
摘要: 一、前言 在分析了锁框架的其他类之后,下面进入锁框架中最后一个类ReentrantReadWriteLock的分析,它表示可重入读写锁,ReentrantReadWriteLock中包含了两种锁,读锁ReadLock和写锁WriteLock,可以通过这两种锁实现线程间的同步,下面开始进行分析。 二、 阅读全文
posted @ 2016-04-24 21:28 leesf 阅读(3715) 评论(7) 推荐(9) 编辑
摘要: 一、前言 分析了CountDownLatch源码后,下面接着分析Semaphore的源码。Semaphore称为计数信号量,它允许n个任务同时访问某个资源,可以将信号量看做是在向外分发使用资源的许可证,只有成功获取许可证,才能使用资源。下面开始分析Semaphore的源码。 二、Semaphore的 阅读全文
posted @ 2016-04-21 14:30 leesf 阅读(3679) 评论(1) 推荐(10) 编辑
摘要: 一、前言 分析完了CyclicBarrier后,下面分析CountDownLatch,CountDownLatch用于同步一个或多个任务,强制他们等待由其他任务执行的一组操作完成。CountDownLatch典型的用法是将一个程序分为n个互相独立的可解决任务,并创建值为n的CountDownLatc 阅读全文
posted @ 2016-04-20 20:35 leesf 阅读(8044) 评论(2) 推荐(13) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 下一页