场景 此时有一个场景,需要设计一个根据不同的状态和条件采用不同的业务处理方式。 这样大家可能不是太理解。举个例子,现在大街小巷上的商户都采用了聚合支付的支付方式,聚合支付也就是商户柜台前放了一个支持支付宝、微信、京东钱包、银联等等的二维...
阅读(9) 评论(0)
本篇文章将介绍Semaphore和Exchanger这两个并发工具类。 Semaphore 信号量(英语:Semaphore)又称为信号标,是一个同步对象,用于保持在0至指定最大值之间的一个计数值。当线程完成一次对该semaphore...
阅读(24) 评论(0)
CyclicBarrier是java.util.concurrent包下面的一个工具类,字面意思是可循环使用(Cyclic)的屏障(Barrier),通过它可以实现让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达...
阅读(31) 评论(0)
这篇文章将介绍CountDownLatch这个同步工具类的基本信息以及通过案例来介绍如何使用这个工具。 CountDownLatch是java.util.concurrent包下面的一个工具类,可以用来协调多个线程之间的同步,或者说起到...
阅读(26) 评论(0)
前言 该文章将通过一个小demo将讲述Redis中的string类型命令。demo将以springboot为后台框架快速开发,iview前端框架进行简单的页面设计,为了方便就不使用DB存储数据了,直接采用Redis作为存储。 文中不会讲...
阅读(34) 评论(0)
前言 这个redis系列的文章将会记录博主学习redis的过程。基本上现在的互联网公司都会用到redis,所以学习这门技术于你于我都是有帮助的。 博主在写这个系列是用的是目前最新版本4.0.10,虚拟机装的是4.0.10,为了方便win...
阅读(26) 评论(0)
前言 这篇主要讲述ThreadPoolExecutor的源码分析,贯穿类的创建、任务的添加到线程池的关闭整个流程,让你知其然所以然。希望你可以通过本篇博文知道ThreadPoolExecutor是怎么添加任务、执行任务的,以及延伸的知识...
阅读(36) 评论(0)
ThreadPoolExecutor自定义线程池 开篇一张图(图片来自阿里巴巴Java开发手册(详尽版)),后面全靠编 好了要开始编了,从图片中就可以看到这篇博文的主题了,ThreadPoolExecutor自定义线程池。 目录 T...
阅读(25) 评论(0)
目录 Executor接口介绍 ExecutorService常用接口介绍 创建线程池的一些方法介绍 3.1 newFixedThreadPool方法 3.2 newCachedThreadPool方法 3.3 newSchedul...
阅读(58) 评论(0)
前言 上一篇博文已经将一些对象抽象成成员变量以及将一些代码块提炼成函数。这一节将会继续重构原有的代码,将一些函数抽象成类,增加成员变量,将传入的参数合成类等等。 上一篇博文地址:http://www.cnblogs.com/fixzd/...
阅读(53) 评论(0)
重构 开头先抛出几个问题吧,这几个问题也是《重构:改善既有代码的设计》这本书第2章的问题。 什么是重构? 为什么要重构? 什么时候要重构? 接下来就从这几个问题出发,通过这几个问题来系统的了解重构的意义。 什么是重构? 《重构:改善既有...
阅读(38) 评论(0)
介绍 LinkedList是一个双向链表,就像下图展示那样,每个节点有个指向上个元素和一个指向下个元素的指针。 接下来我会对我们经常使用的方法进行介绍,代码如下 @Test public void testLinkedList(...
阅读(33) 评论(0)