Activiti是一个用于处理工作流程和业务流程的开源工作流引擎,它是基于Java的,并提供了丰富的API来创建、管理和执行工作流程。以下是一些通用的开发指南: 安装和配置: 首先,您需要在项目中引入Activiti的相关依赖。配置数据库以存储工作流程定义、运行时数据和历史数据。配置Activiti引擎,通常通过XML配置文件或Java代码。创建流程定义: 使用Activiti的图形建模工具(ActivitiModeler)或手动编写BPMN2.0流程定义文件来定义工作流程。部署流程定义到Activiti引擎,可以通过API或者ActivitiExplorer(一个基于Web的管理工具)来完成...

当在Java中构建多线程应用程序时,AQS(AbstractQueuedSynchronizer)是一个非常有用的工具,用于实现自定义同步器和控制多线程访问共享资源。作为一名Java架构师,深入了解AQS的工作原理以及如何在实际开发中使用它是至关重要的。 AQS工作原理: AQS是一个抽象基类,它提供了一种通用的机制来构建锁和其他同步器。它的核心思想是维护一个同步状态(state)和一个等待队列(等待获取同步状态的线程)。AQS基于这两个元素来协调多线程之间的访问。 同步状态:AQS的状态是一个整数,用于表示同步资源的可用性。状态的具体含义取决于同步器的类型和实际应用。正数通常表示资源可用,...

1、前言 排查生产问题,报错接口中的同一条sql执行时间不同。 2、一级缓存 一级缓存是默认开启的,在一个sqlSession会话里面的所有查询操作都会保存到缓存中。如果同一个sqlSession会话中2个查询中间有一个insert、update或delete语句,那么之前查询的所有缓存都会清空; 2.1、一级缓存的工作原理 用户发起查询请求,查找某条数据,sqlSession先去缓存中查找,是否有该数据,如果有,读取;如果没有,从数据库中查询,并将查询到的数据放入一级缓存区域,供下次查找使用。 但sqlSession执行commit,即增删改操作时会清空缓存。这么做的目的是避免脏读。 2....

  0ph59blLrzgC   2023年11月02日   51   0   0 一级缓存二级缓存SQL
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~