- 博客(732)
- 资源 (73)
- 收藏
- 关注
原创 activiti学习之强制结束任务
写在前面在一些场景下需要不正常走完所有的流程节点就结束流程,本文看下如何实现。1:正文类似于流程退回,只需要断开当前任务对应节点的对外连接的线,然后找到结束节点,并连接到结束节点,再执行任务,就可以直接跳转到结束节点,也就结束任务了,如下:上图流程对应的xml如下:<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmln
2024-12-12 17:42:42 568
原创 activiti学习之自定义网关判断逻辑
在实际的业务场景中,activiti所提供的基于uel表达式的网关表达式往往无法满足我们的需求,所以我们就需要根据具体的业务来定义自己的表达式,那么就需要自定义表达式的解析逻辑。本文就来看下如何实现。
2024-12-06 17:01:57 504
原创 activiti学习之模拟聊天机器人(含结束监听)
写在前面本文来模拟实现一个聊天机器人。就是可以一直不厌其烦的跟你唠嗑!1:需求开发一个机器人聊天程序,如果是用户不说再见,则要一直跟用户聊下去。2:开发2.1:设计流程当用户不说再见时就设置callEnd=2,此时会继续聊天:当用户说再见时时就设置callEnd=1,此时就结束聊天:xml如下:<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN
2024-12-05 14:18:32 1039
原创 activiti学习之springboot版本(从0到1完成流程)
源码。2:正文2.1:生成数据库第一次启动项目时如果时没有表则会自动创建,创建后还需要执行如下的sql们:一共25张表:模型对应到实际的业务功能就是流程列表,像下图这种:代码:这里只是为了演示就固定写死了,正常应该是页面传过来的。成功后,会在ACT_RE_MODEL表创建一条记录:选择某个模型后,将进入流程设计页面,设计后,就可以保存了,此时前端需要将设计的xml传给后端,如下:正常模型id和xml都是前端给的,保存成功后会在ACT_GE_BYTEARRAY表生成一条记录,并外键到ACT
2024-12-04 14:32:50 910
原创 抓包之wireshark基础用法介绍
打开wireshark首先会进入如下的界面:想要开始抓包,需要进行如下操作:input选项中是让选择要抓包的网卡,具体如下:这是我本地的,注意你的不一定和我一样!流量列有波动的就是有流量产生的网卡,一条线的就是没有流量的网卡。比如本文就是对本地回环地址的网卡抓包。输出选项过滤器,可以录入过滤信息,当然也可以补录,此时抓到的包可能会比较多,且针对性比较弱:接着进入抓包流程。默认是按照时间序列来展示的,可以通过如下操作进行调整。
2024-11-29 11:25:12 636
原创 抓包之查看http basic auth认证方式
在中我们看了http basic auth的认证方式,本文通过wireshark抓包的方式来验证http协议的交互过程。
2024-11-28 17:42:34 482
原创 抓包之验证content-length响应头的作用
根据http协议的规范,content-length响应头用来标记固定长度响应信息长度,http客户端,比如浏览器也会解析这个字段来进行数据的解析。
2024-11-27 15:31:12 434
原创 netty之优化篇
与IO密集型对应的就是CPU密集型,即靠自己就能完成业务处理,但需要消耗比较多的CPU资源,比如要进行比较复杂的数学运算等,此时优化的方向是增加程序可用核数和线程数。
2024-11-20 14:17:06 356
原创 netty之内存泄露检测
本文看下netty内存泄露检测相关内容,当然,这里的内存泄露不是bytebuf对象本身,是bytebuf关联的堆外内存。
2024-11-19 14:28:40 976
原创 netty之写出数据源码分析
在中看了如何接收客户端的数据,以及接收数据之后的业务处理。本文来看下业务处理完成后将结果写回给客户端的相关源码逻辑。需要先启动netty源码example模块的echoserver,再启动echoclient进行debug测试。
2024-11-08 14:16:44 438
原创 netty之接收数据和业务处理源码分析
在中我们分析了netty server是如何处理接收连接的,那么接收连接并非最终目的,接收数据进行业务处理才是,所以就来看下如何接收数据,并将数据应用到用户自定义的handler进行业务处理的。需要先启动netty源码example模块的echoserver,再启动echoclient进行debug测试。
2024-11-05 17:51:51 403
原创 netty之处理连接源码分析
1:event loop死循环执行selectfor (;;) {}2:监听到op_accept事件,acceept连接,创建socketchannel3:绑定op_read事件等待读取数据。
2024-11-04 17:46:21 304
原创 netty之是如何做好服务准备的
1:创建selector2:创建serversocketchannel3:serversocketchannel注册到selector4:绑定端口5:注册op_accept事件。
2024-11-04 11:07:08 504
原创 线上遇到的问题记录(说多了都是泪)
我觉得,工作中最有价值的就是及遇到的问题了,特别时线上这种容易让人血压升高的环境中遇到的问题,本文就是记录这些血压升高时刻。如果你遇到什么真实环境的问题,也欢迎评论或者私信分享给我!!!
2024-10-25 09:49:49 422
原创 什么是零拷贝以及其应用场景是什么?
1:发起read调用,发生一次上下文切换,从用户态转换为内核态2:内核拷贝数据到pagecahe3:发生一次上下文切换,内核态转换为用户态,用户进程将数据拷贝到用户缓冲区4:发生一次上下文切换,用户态转换为内核态,内核将数据拷贝socket缓冲区5:内核将数据拷贝到网卡pagecache是磁盘数据的缓冲区,用来在一定程度上缓解磁盘速度和内存速度的差异,起到预读,缓存作用。可以参考下下图:1:上下文切换2:数据拷贝。
2024-10-24 16:00:05 803
原创 使用JUC包的AtomicXxxFieldUpdater实现更新的原子性
本文一起来看下使用JUC包的AtomicXxxxFieldUpdater实现更新的原子性。代码位置如下:当前有针对int,long,ref三种类型的支持。如果你需要其他类型的支持的话,也可以照葫芦画瓢。
2024-10-22 11:37:03 936
原创 netty之对keepalive和idle的支持
keepalive也就是我们最常用到的心跳机制,用来检测客户端程序是否正常,所以keepalive是一种用来确保程序正常运行的一种机制。上面这种是应用层的keepalive,TCP协议本身也有keepalive机制,但是其是用来检测连接本身是否正常的,配置如下:需要注意,传输层和应用层的keepalive关注点是不同的,前者关注的连接本身是否有效的,而后者关注的是应用程序本身是否正常运行。
2024-10-18 16:27:25 920
原创 netty之二次编解码
首先要解决半包和粘包问题获取正确的用户数据,这是一次解码,此时获取的是bytebuf,并不是可以直接使用的Java对象,所以还需要将bytebuf解码为可以程序可以直接使用的Java对象,这是二次解码。TCP数据流半包粘包处理一次解码->bytebufbytebuff处理二次解码->Java对象。
2024-10-18 10:05:17 491
原创 从一组元素中轮询方式选择元素使用
这种方式有更高的效率,但是要求元素总量必须是2的次幂,但这其实并不难做到。如果工作中有类似场景,并且对性能要求较高,可优先考虑使用这种方式。这样就可以获取一个下标值,从而选择一个元素出来。注意-的由优先级高于&。
2024-10-16 16:27:57 97
原创 springboot项目通过maven的profile功能实现通过不同文件夹的方式来组织不同环境配置文件
本文看下springboot项目如何通过文件夹的方式来组织不同环境配置文件。
2024-10-09 14:40:58 1058
原创 什么是reactor以及其三种版本
为了更好的理解什么是reactor,我们结合现实生活中的例子来看下。翠花是个貌美如花的姑娘,人称赛东施,她的梦想是嫁给王子,可是天不随人愿,最终她嫁给了王大勺,看名字可能你已经猜出来了,王大勺他是一个厨子。迎宾,做菜,上菜,收拾碗筷桌子等迎宾,做菜,上菜,收拾碗筷桌子等终于,我们的王大勺可以喘口气了,但是,生意越来越好,新的问题出现了,什么问题呢?所有人都在忙着做菜,导致客人来了也没有人去迎宾,白白流失了客源,这个时候我们聪明的翠花同学也发现这个问题了,她的做法是什么呢?
2024-09-30 17:57:04 701
ttsmaker-file-2024-9-29-11-28-50.wavttsmaker-file-2024-9-29-11-2
2024-09-29
protoc-3.5.0-win32.zip
2024-08-28
protoc-3.0.0-win32.zip
2024-08-27
netassist.zip
2024-08-15
the-probe-plugin-1.0.zip
2024-06-21
map2obj-idea-plugin-1.0.zip
2024-06-18
javaio-appendfile1709014272558.json
2024-02-27
elasticsearch-analysis-ik-7.1.0.zip
2024-02-05
docker-compose (3).zip
2024-01-31
sentinel-降级熔断测试.jmx
2024-01-10
sentinel-链路流控测试.jmx
2024-01-09
sentinel-直接流控测试.jmx
2024-01-08
sentinel-182.zip
2024-01-08
JSONVue-master.zip JSONVue-master.zipJSONVue-master.zipJSONVue-m
2023-12-08
sftp.zipsftp.zipsftp.zip
2023-12-07
MicroSIP-3.19.22.exe
2023-11-07
nacos-server-2.0.0.zip
2023-10-11
Snipaste1.rar
2023-04-06
ingress.raringress.raringress.rar
2023-01-14
kube-scheduler.rar
2023-01-09
kube-controller-manager.rar
2023-01-09
kube-apiserver.rar
2023-01-09
coredns.tar
2023-01-09
redistimeseries.so redistimeseries.so
2022-11-09
redis-3.2.2.gem redis-3.2.2.gem redis-3.2.2.gem
2022-10-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人