上一页 1 2 3 4 5 6 7 8 9 10 ··· 31 下一页
摘要: 一 .概述 在前面我们部署完成了流程定义,工作流的核心就是创建流程实例,然后不断的推进流程,最终完成整个业务的进展. 二 .开启一个流程实例 我们使用RunTimeService对象启动了一个流程实例,核心就是使用流程定义的key来启动一个流程实例,默认情况下就是启动最新版本的流程定义. 我们需要关 阅读全文
posted @ 2019-02-14 23:35 最爱五仁月饼 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 一 .基本的流程图 本次我们使用一个请假的流程进行分析,在后面的学习之中也使用这个流程.首先我们需要完成的就是流程部署的实现. 二 .流程部署 在这个流程之中,我们需要注意的下面的几点.流程图之后总我们定义的id是leave,这个就是流程定义的key. 三 .完成流程部署 为了完成流程部署,我们使用 阅读全文
posted @ 2019-02-14 23:16 最爱五仁月饼 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 一 .概述 zookeeper被设计出来作为一个分布式的协调器,维护数据的一致性.这听起来是比较抽象的,但实际上zookeeper从本质上仅仅只是提供了两个功能: [1]文件系统 [2]监听通知机制 我们通过这两个基本的功能完成诸如分布式锁,配置管理等功能. 二 .zookeeper的安装和基本使用 阅读全文
posted @ 2019-01-29 14:43 最爱五仁月饼 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 一 .概述 在我们之前的日志之中,多数存在一个这样的使用场景,就是记录一个操作的执行时间.我们一般都会使用一个标准的模板代码来完成这个操作,guava为此提供了一个更好的工具类StopWatch来帮助我们完成这个操作. 二 .演示例子 在StopWatch之中,我们完成了对业务处理时间的计算. 通过 阅读全文
posted @ 2019-01-29 10:54 最爱五仁月饼 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 一 .概述 首先我们看看这个接口的定义: 从这个接口之中,我们可以看到,这个就是一个Future的回调接口,并且,我们可以拿到返回这或者异常对象. 二 .绑定FutureCallBack对象 在guava之中出现了一个工具类Futures,它可以帮助我们将FutureCallBack和Listena 阅读全文
posted @ 2019-01-29 10:06 最爱五仁月饼 阅读(654) 评论(0) 推荐(0) 编辑
摘要: 一 .概述 在jdk之中,在1.5之后出现了Future接口,这个接口可以帮助我们完成异步任务结构的获取. 我们首先看下接口的定义: 但是这个接口存在一个问题,就是在获取数据的时候一旦任务没有完成就会阻塞该方法. 这样在一定的程度上,对并发的效果就是一种削弱. 在guava之中,出现了一种事件回调的 阅读全文
posted @ 2019-01-29 09:46 最爱五仁月饼 阅读(657) 评论(0) 推荐(0) 编辑
摘要: 一.概述 在并发包之中出现了ThreadFactory接口,如下: 从上面基本的定义中可以看出,就是将一个线程的执行单元包装成为一个线程对象,我们一般会指定这个线程的一些属性, 比如线程的名称,线程的优先级,线程是否是守护线程等线程. 常见的,我们创建一个线程工厂都是实现这个接口,创建一个类,通过这 阅读全文
posted @ 2019-01-29 09:02 最爱五仁月饼 阅读(9757) 评论(0) 推荐(0) 编辑
摘要: 新年的一些计划 在2018年的时间里,总体自己的计划完成的比较顺利,基本的东西都已经学习了不少.在新的一年里面,需要完成的一些更加底层的内容了. [1] Netty : 这一部分的内容已经花费了我基本两个月的时间了(包括Nio,并发这些底层的内容),剩下的任务就是整理出一个简单的笔记出来. 自己手写 阅读全文
posted @ 2019-01-16 16:28 最爱五仁月饼 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 一 概述 在传统的io之中,我们复制数据都是通过堆内存完成的,但是操作系统却不是这样进行操作的,只是jdk为了维护一致的操作方法进行实现的. 在之前的io模型之中,比如文件的读取,我们首先将数据复制到内核内存之中,然后我们需要将数据复制到堆内存之中,然后才进行的操作. 其实,在上面的模型之中,我们不 阅读全文
posted @ 2018-12-24 15:58 最爱五仁月饼 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 一.概述 在前面,我们说到了缓冲区的基本概念,下面我们就看看我们如何使用缓冲区完成数据的读写操作. 二 . 缓冲区的读写操作 在上面的代码之中,我们涉及到了缓冲区的一些基本操作. 首先我们创建了一个ByteBuffer对象,然后使用put()方法向缓冲区之中存放了一些数据.此时缓冲区处于在写状态. 阅读全文
posted @ 2018-12-24 15:41 最爱五仁月饼 阅读(152) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 31 下一页