自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

javacoo的专栏

不积跬步无以至千里,不积小流无以成江海

  • 博客(27)
  • 收藏
  • 关注

原创 JMeter BeanShell 实现接口签名验签及加解密

在利用JMeter进行接口测试或者性能测试的时候,我们需要处理一些复杂的请求,比如对接口请求参数进行签名,加密,响应数据的验签及解密,以及接口公共参数的处理,此时就需要利用BeanShell脚本了,关于BeanShell的使用小伙伴们可以查看网上相关文章。今天主要和大家分享下接口签名,验签,加解密,以及处理公共参数的例子,希望能帮助到小伙伴们。一,思路约定:约定接口有统一的请求及响应格式,如:请求协议公共部分参数类型是否必选描述appKeyString是应用ke

2022-01-10 09:11:18 3138

原创 事件处理工具组件

event-spring-boot-starter是一个基于springboot starter机制,结合SPI 接口设计思想实现的事件处理工具组件,旨在提供简单的事件处理编程模型,让基于事件的开发更简单灵活,内部实现基于guava EventBus 实现,扩展方便,集成使用简单

2022-01-05 11:50:14 782

原创 一个简单实用的函数式缓存工具类

一个简单实用的函数式缓存工具类:封装了基本的缓存增删查操作,提供了热点数据集中失效和缓存穿透的统一解决方案,以及在此基础上的开发模型。

2022-01-05 11:45:37 760

原创 基于Redis+Lua实现分布式限流组件

limit-spring-boot-starter是一个基于springboot starter机制,结合SPI 接口设计思想(内部集成:Redis+Lua实现限流算法(令牌桶,固定窗口,滑动窗口)以及限流回退默认实现),支持注解方式/配置文件方式接入限流,扩展方便,集成使用简单的分布式限流组件。开源地址:https://gitee.com/javacoo/limit-spring-boot-starter

2022-01-05 11:43:17 1506

原创 四,手写自己的MyBatis框架

1.MyBatis应用分析与实践2.MyBatis体系结构与工作原理3.MyBatis插件原理及Spring集成4.手写自己的MyBatis框架本节目标:1、 实现 1.0 版本,掌握 MyBatis 的本质、核心功能、核心对象、执行流程2、 通过分析 2.0 版本,体验框架的演进过程,理解 MyBatis一,需求分析假如你在一家软件公司的研发部工作,有一天技术总监老王想让你负责开发一个项 目,你要做的第一件事情是什么?确定需求。那我们要开发这个项目,需求从哪里来? 我们要跟老王沟通

2021-12-31 10:03:51 890

原创 三,MyBatis插件原理及Spring集成

1.MyBatis应用分析与实践2.MyBatis体系结构与工作原理3.MyBatis插件原理及Spring集成4.手写自己的MyBatis框架本节目标:1、 掌握插件的使用方法和工作原理2、 掌握自定义插件的编写方法3、 掌握 Spring 集成 MyBatis 的原理一,MyBatis 插件原理与自定义插件MyBatis 通过提供插件机制,让我们可以根据自己的需要去增强 MyBatis 的功能。 需要注意的是,如果没有完全理解 MyBatis 的运行原理和插件的工作方式,最好不要使

2021-12-31 10:02:58 382

原创 二,MyBatis体系结构与工作原理

1.MyBatis应用分析与实践2.MyBatis体系结构与工作原理3.MyBatis插件原理及Spring集成4.手写自己的MyBatis框架本节目标:1、 掌握 MyBatis 的工作流程2、 掌握 MyBatis 的架构分层与模块划分3、 掌握 MyBatis 缓存机制4、 通过阅读 MyBatis 源码掌握 MyBatis 底层工作原理与设计思想一,MyBatis 的工作流程分析在上一篇《应用分析与实践》里面,我们学习了 MyBatis 的编程式使用的方法,我们再来回顾一下

2021-12-31 10:01:52 685

原创 一,MyBatis应用分析与实践

之前学习MyBatis整理了一些笔记,笔记分为四个部分:1.MyBatis应用分析与实践2.MyBatis体系结构与工作原理3.MyBatis插件原理及Spring集成4.手写自己的MyBatis框架希望能够帮助到小伙伴们。本节目标:1、 了解 ORM 框架发展历史,了解 MyBatis 特性2、 掌握 MyBatis 编程式开发方法和核心对象3、 掌握 MyBatis 核心配置含义4、 掌握 MyBatis 的高级用法与扩展方式一,为什么要用 MyBatisJDBC 连接数据库

2021-12-31 10:00:07 761

原创 唯一序列生成器 starter

sequence-spring-boot-starter唯一序列生成器 starter介绍说明工程提供扩展接口(扩展点): 接口->com.javacoo.sequence.client.api.Sequence基于xkernel 提供的SPI机制,结合SpringBoot注解 ConditionalOnBean,ConditionalOnProperty实现。类关系图项目结构sequence-spring-boot-starter └── src ├─

2021-12-30 09:20:41 498

原创 分布式锁 starter

lock-spring-boot-starter分布式锁 starter介绍说明工程接口(扩展点): 接口->com.javacoo.lock.client.api.Lock基于xkernel 提供的SPI机制,结合SpringBoot注解 ConditionalOnBean,ConditionalOnProperty实现。类关系图项目结构lock-spring-boot-starter └── src ├── main │ ├── java

2021-12-30 09:19:35 334

原创 Junit 单元测试生成工具Maven插件

junit-generator介绍一个基于JUnit,Freemarker,Mockito,Maven等技术实现的单元测试类脚手架生成工具Maven插件。需求我们在测试驱动开发过程中,总会写一大堆与业务无关的模板式的代码,为了减少开发者写单元测试的工作量,需要一个单元测试类脚手架代码的生成工具。类关系图主要技术说明Maven插件开发:见官网:http://maven.apache.org/guides/plugin/guide-java-report-plugin-development

2021-12-29 09:43:56 594

原创 一个基于Java Spi机制实现的远程服务调用组件

remoting介绍远程服务调用组件1.远程服务调用组件是基于Java SPI(Service Provider Interface)机制实现,具有插件式,高度可扩展,集成使用简单等特点。2.独创的XML配置格式及配套解析方法,让远程接口配置更为简单,处理更为灵活,3.组件提供统一的远程服务调用API,解决了远程服务调用代码分散,实现各异,配置硬编码等问题。4.同时统一抽象的调用器接口使得每个服务的具体通信方式和格式对使用者都是透明的,可通过配置不同的调用器类来支持相应的调用策略。5.远程服务

2021-12-29 09:42:54 374

原创 一个带连接池的sftp客户端

sftp-spring-boot-starter介绍 基于jsch简单封装,并提供连接池功能,使用简单,基于SPI机制,实现定制化。软件架构安装教程 <!--sftp--> <dependency> <groupId>com.javacoo</groupId> <artifactId>sftp-spring-boot-star

2021-12-29 09:40:35 827

原创 xPlatform后台快速开发框架

xPlatform一个基于Springboot2.X+Dubbo2.6.x的后台快速开发框架介绍说明与Platform_admin搭配(前后端分离),支持分布式部署架构说明总体设计思想:xPlatfrom是基于SpringBoot+Dubbo+VUE构建的一个前后端分离的快速开发平台,旨在为项目组提供一套快速,高效,稳定,规范的开发框架,以适应当前快速迭代的开发任务。xPlatfrom提供前后端开发框架,前端主要基于VUE,利用VUE动态路由,动态加载系统定义的功能模块,将各个子系统

2021-12-28 15:42:52 1862

原创 xService微服务快速开发框架

XService:为组件化,快速构建微服务而生什么是XService?XService接口服务快速开发框架,基于SpringBoot实现,封装了接口开发过程中的基础功能及控制流程,并约定了统一的接口报文格式,制定了完善的开发规范以及测试规范,让程序员只需关注具体业务实现,提高了开发接口服务的效率。XService基础功能基于xkernel 提供的SPI机制,结合SpringBoot提供的 ConditionalOnBean,ConditionalOnProperty等注解实现,实用,简单,扩展灵活。

2021-12-28 15:35:54 864

原创 丑牛迷你知识库-基于Java Swing开发的个人知识库系统

MyKbs介绍丑牛迷你知识库是基于Java Swing开发的个人知识库系统,系统可在局域网内搜,共享积累的知识,可监听本地目录文件并建立全文索引,方便查找,可在局域网内多人聊天,视频,文件传输等MyKbs Maven版使用说明登陆界面:加载界面:1.我的丑牛:系统参数设置及插件信息2.知识搜索:知识搜索分本地搜索和局域网搜索本地搜索:勾选“按分类搜索”时,只搜索该分类下所有知识点,包含此关键字的信息靠前。未勾选时会搜索所有知识分类下搜索包含此关键字的知识点。勾选“按分类搜索”时

2021-12-28 11:00:11 356

原创 一款基于Java Swing开发的专业的网络数据采集/信息挖掘处理软件

CowSwing介绍丑牛迷你采集器是一款基于Java Swing开发的专业的网络数据采集/信息挖掘处理软件,通过灵活的配置,可以很轻松迅速地从 网页上抓取结构化的文本、图片、文件等资源信息,可编辑筛选处理后选择发布到网站软件架构JAVACOO-CRAWLER采用的是模块化设计,各个模块由一个控制器类(CrawlController类)来协调工作,控制器就是爬虫的核心。CrawlController类是整个爬虫的总控制者,控制整个采集工作的的起点,决定采集任务的开始,暂停,继续,结束。CrawlC

2021-12-28 10:59:03 571

原创 带连接池的 fastdfs 客户端starter

fastdfs-spring-boot-starter一个简单的基于org.csource.fastdfs.StorageClient1二次封装并提供连接池功能的fastdfs客户端starter.介绍说明工程提供三大接口(扩展点):​ 操作接口->FastDFSClient,​ StorageClient1对象池接口->StorageClientPool,​ FastDFS操作模板接口->FastD

2021-12-28 10:54:37 366

原创 玩玩Java Swing桌面程序

简介线下支付宝扫码实时订单监控客户端,本客户端基于java swing 开发,实现了个人支付宝账户到账准实时监控,主要思路是定时扫描支付宝账户商家账户详细页面,抓取接口响应数据并解析,展示在系统列表页面,目前功能还比较简单,也不够完善。项目信息路漫漫其修远兮,吾将上下而求索码云:https://gitee.com/javacooQQ:164863067作者/微信:javacoo邮箱:xihuady@126.com...

2021-12-28 10:50:41 314

原创 xkernel微内核系统核心包

简介xkernel是一个基于java SPI思想的类加载工具包,是构建微内核系统的基础,微内核不与扩展点的具体实现产生交互,通过ExtensionLoader将扩展点与具体实现建立关联,微内核只需要知道自己暴露的扩展点和ExtensionLoader即可,扩展千变化万,内核以不变应万变。采用本工具包可快速设计一个基于微内核+插件式的扩展开发框架,不需要改动源码就可以实现扩展,解耦,实现扩展对原来的代码几乎没有侵入性,只需要添加配置就可以实现扩展,符合开闭原则。背景SPI全称Service Pro

2021-12-28 10:47:32 287

原创 分布式事务

最近整理了下分布式事务相关知识及典型应用场景解决方案,主要内容如下:1、分布式事务1)事务简介2)本地事务讲解3)不同场景下的分布式事务2、分布式事务理论1)CAP理论2)BASE理论3)刚柔事务区别3、掌握分布式事务解决方案模型1)2PC/3PC2)TCC3)MQ解决方案4、基于Seata解决强一致性分布式事务1)订单问题分析2)Seata AT模式讲解3)基于Seata实现分布式事务控制5、基于RocketMQ解决柔性事务1)RocketMQ事务消息讲解2)Roc

2021-12-27 22:39:04 317

原创 OpenResty+Lua+Redis+Canal实现多级缓存架构

目录1,OpenResty 高性能Web站点架构OpenResty 特性介绍搭建OpenRestyWeb站点动静分离方案剖析2,Lua语法学习Lua基本语法3,多级缓存架构实战多级缓存架构分析Lua操作Redis实战4,Nginx代理缓存Nginx代理缓存学习Nginx代理缓存热点数据应用Cache_Purge代理缓存清理5,缓存一致性Canal原理讲解Canal安装多级缓存架构缓存一致性实战1 OpenResty高性能Web站点架构http:/

2021-12-27 22:36:31 1918

原创 基于RabbitMQ+XXLJob+EventBus的进件平台设计与实现

业务背景及需求根据业务发展,需要一个进件平台,该平台提供统一的第三方渠道接入接口规范和公司内部业务系统接入规范,第三方渠道和公司内部业务系统根据接入规范接入到进件平台,进件申请由进件平台做相应处理后分发到对应的内部业务系统。前期平台需提供根据不同渠道进行不同进件申请处理流程的功能:平台需分析公司进件相关业务,归纳,整理提炼出业务公共服务,分析业务属性,转换为无业务区分的最小原子属性单元,不同业务只需组合这些原子属性单元即可形成特有的产品。平台实现公共业务服务,业务系统只需实现产品特有功能。由于内部

2021-12-27 14:36:27 777

原创 一个基于Java Spi机制实现的远程服务调用组件

远程服务调用组件1.远程服务调用组件是基于Java SPI(Service Provider Interface)机制实现,具有插件式,高度可扩展,集成使用简单等特点。2.独创的XML配置格式及配套解析方法,让远程接口配置更为简单,处理更为灵活,3.组件提供统一的远程服务调用API,解决了远程服务调用代码分散,实现各异,配置硬编码等问题。4.同时统一抽象的调用器接口使得每个服务的具体通信方式和格式对使用者都是透明的,可通过配置不同的调用器类来支持相应的调用策略。5.远程服务调用组件,屏蔽了具体的通

2021-12-27 09:08:49 453

原创 支付渠道接入设计及实现

聚合支付:也称“融合支付”,是指只从事“支付、结算、清算”服务之外的“支付服务”,依托银行、非银机构或清算组织,借助银行、非银机构或清算组织的支付通道与清结算能力,利用自身的技术与服务集成能力,将一个以上的银行、非银机构或清算组织的支付服务,整合到一起,为商户提供包括但不限于“支付通道服务”、“集合对账服务”、“技术对接服务”、“差错处理服务”、“金融服务引导”、“会员账户服务”、“作业流程软件服务”、“运行维护服务”、“终端提供与维护”等服务内容,以此减少商户接入、维护支付结算服务时面临的成本支出,提高商

2021-12-27 09:04:55 5728

原创 Redis高性能原理探秘-IO模型

Redis的性能由哪些因素决定?内存由于Redis是基于内存的操作,因此内存大小是决定其性能的一个重要因素。CPUCPU 是另一个重要的影响因素,由于是单线程模型,Redis 更喜欢大缓存快速 CPU, 而不是多核。网络通信网络带宽和延迟通常是最大短板。网络通信模型最终目标: 增加客户端的访问连接数量BIO(阻塞IO模型)ServerSocketSocket阻塞体现在两个地方:连接阻塞IO阻塞使用场景zookeeper的leader选举(3

2021-12-25 22:34:01 927

原创 关于事件驱动架构在工作中的一些想法及实践

业务领域事件框架是一个基于事件驱动架构的基础设施,是一个可以最大程度减少耦合度,很好地扩展与适配不同类型的服务组件。框架分为BizEvents-Framework和BizEvent-SDK两部分,分别扮演服务端和客户端组件的角色,集成BizEvents-Framework能够让应用拥有领域事件的生成,存储,发布,过滤与推送的能力。集成BizEvent-SDK能够让应用拥有订阅目标系统领域事件,并收到目标系统推送领域事件的能力。

2021-12-24 16:55:29 1601

空空如也

空空如也

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

TA关注的人

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