自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Activiti7源码分析

文章目录Activiti7源码分析整体架构命令模式责任链模式事务拦截器命令上下文拦截器流程定义解析Activiti之PVM执行树核心理念PVM对流程定义期的描述PVM对流程运行期的描述PVM综述ActivitiImpl与作用域发起流程实例源码核心步骤service API入口源码:多个对象责任链依次执行:CommandInvoker命令模式执行者源码:执行StartProcessInstanceCmd的execute方法org.activiti.engine.impl.util.ProcessInstanc

2021-03-13 22:24:37 4281 7

原创 并发编程之线程池技术

并发编程之线程池技术什么是线程池?为什么要使用线程池?先手写一个线程池线程池的创建方式:ThreadPoolExecutor 参数介绍参数 1:corePoolSize参数 2:maximumPoolSize参数 3:keepAliveTime参数 4:unit:参数 5:workQueue参数 6:threadFactory参数 7:handler线程池的执行流程线程拒绝策略自定义拒绝策略究竟选用哪种线程池?总结什么是线程池?线程池(ThreadPool)是一种基于池化思想管理和使用线程的机制。它是将

2021-02-02 09:01:39 119

原创 Activiti7实战-入门

Activiti7的使用和原理1.什么是工作流?1.1工作流介绍工作流:通过计算机对业务流程自动化执行管理。多个参与者按照某种预定规则自动进行传递文档、信息任务处理的过程。1.2工作流系统一个软件系统中具有工作流的功能,我们把它称为工作流系统。1.3工作流实现方式采用状态字段的值来跟踪流程的变化情况程序可以不用改变,业务流程可变化。1.4工作流原理分析2.什么是Activiti7Activiti 是一个工作流引擎, activiti 可以将业务系统中复杂的业务流程抽取

2021-01-29 09:12:17 1520 3

原创 JVM调优实战之内存泄漏

JVM调优实战之内存泄漏1、内存泄漏memory leak :是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。2、内存溢出 out of memory :指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但是你却存储long类型的数据,那么结果就是内存不够用,此时就会报错OOM,即所谓的内存溢出。3、二者的关系:内存泄漏的堆积最终会导致内存溢出内存溢出就是你要的内存空间超

2021-03-14 07:40:27 271

原创 消息队列之RocketMQ

消息队列优点?解耦(最终一致性)快递小哥手上有很多快递需要送,他每次都需要先电话一一确认收货人是否有空、哪个时间段有空,然后再确定好送货的方案。这样完全依赖收货人了!如果快递一多,快递小哥估计的忙疯了……如果有了便利店,快递小哥只需要将同一个小区的快递放在同一个便利店,然后通知收货人来取货就可以了,这时候快递小哥和收货人就实现了解耦!异步(提升效率)快递小哥打电话给我后需要一直在你楼下等着,直到我拿走你的快递他才能去送其他人的。快递小哥将快递放在小芳便利店后,又可以干其他的活儿去了,不需要等

2021-03-14 07:36:03 222 1

原创 深入理解HashMap

HashMap的数据结构?HashMap里的数据结构是数组+链表的形式来存储节点的,每个节点以键值对(Node<K,V>)的形式存储,上面看到的table,就是HashMap中存放值的地方,它的数据结构是这样的:Node<K,V>[] table;那这个Node到底是什么东西呢?[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3k1kwH5d-1615678251863)(images\image-20210203070523997.png)]红

2021-03-14 07:31:43 202

原创 JVM调优实战之OOM

OOM与JVM调优相关的问题一直是难点,只能感叹,大家都太不容易了。明明只是小白、明明只想找份工作、明明没有机会接触到OOM与调优……却被现实逼着要去搞懂JVM、OOM、调优……本篇文章是结合大厂与小厂的同学们问的问题,结合我的工作经历整理总结而来。看懂、理解、背下来,当面试官再问你OOM与调优,一定被你征服。看完这篇文章,大家能获得的知识:1、什么是OOM2、为什么会发生OOM3、哪些区域会发生OOM4、JVM进程挂了,会有哪些可能性5、生产环境的JVM无响应了,如何快速定位问题什么是OOM

2021-03-13 22:15:28 627

原创 keycloak概述

因为源自 [[WildFly]] Application Server ([https://docs.wildfly.org/20/WildFly_Elytron_Security.html WildFly Elytron Security]) 所以配置 Keycloak 的许多方面都围绕 WildFly 配置元素。Keycloak 基于 WildFly 应用服务器及其子项目([[Infinispan]](用于缓存)和 [[Hibernate]](用于持久性)之上构建,所以需要阅读它们的相关文档。功能

2021-01-30 15:28:05 927

原创 keycloak接入Springboot

keycloak之接入方案前言单点登录(SSO)Keycloak是什么Keycloak常用核心概念介绍Keycloak服务安装及配置安装Keycloak创建Realm创建客户端创建前端应用客户端创建后端应用客户端关于客户端的访问类型(Access Type)创建用户和角色创建角色创建用户绑定用户和角色给admin用户分配角色ROLE_ADMIN给customer用户分配角色ROLE_CUSTOMERVue应用集成Keycloak简明指南创建vue项目添加官方Keycloak js适配器main.jsHell

2021-01-29 22:31:16 1906 3

原创 RabbitMQ重复消费如何解决

RabbitMQ重复消费如何解决MQ消息为什么重复网络不可达造成消息重复。只要通过网络交换数据,就无法避免这个问题。AMQP 消费者确认机制AMQP 定义了消费者确认机制(message ack),如果一个消费者应用B崩溃掉(此时连接会断掉),但是 broker 尚未获得 ACK(6.ACK确认),那么消息会被重新放入队列。所以 AMQP 提供的是“至少一次交付”(at-least-on...

2020-03-10 18:30:25 3422

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除