- 博客(34)
- 资源 (11)
- 收藏
- 关注

原创 JMeter通用Http采样器
一个结合低代码思想的简单易用、执行高效的JMeter通用Http自定义采样器,设计初衷为:像使用PostMan一样的进行HTTP接口压力测试,同时具备良好的函数、断言器的可扩展性。
2022-10-02 14:02:36
1721

原创 Java分布式高性能文件服务
一个用Java开发的分布式高性能文件服务,主要功能为:上传(普通上传/断点续传/Base64上传)、下载、文件删除、文件定时清理(TODO)。主要技术手段:写盘机制:零拷贝+顺序写盘;RPC机制:ActorRpc;HttpServer机制:基于Netty的不FullHttpRequest聚合;
2022-05-06 17:42:51
2164
8

原创 一个思想超前的低代码平台主要实现思路
本文给出了一个思想超前的低代码平台主要实现思路,包括纵向数据存储引擎构建思路、自定义脚本引擎构建思路、数据详细设计、平台商业模式及低代码平台现状分析等。
2022-01-25 12:11:56
6044
5
原创 单JVM进程启动多个SpringBoot项目探索及调优
使用SpringBoot技术栈进行REST HTTP接口开发服务时,一般来说如果模块较多或者涉及多人协作开发,大家会不自觉的将每个模块独立成一个单独的项目进行开发,部署时则将每个服务进行单独部署和运行。服务间的调用则通过FeignClients,服务的接入、负载、路由则是在前面摆个SpringCloud Gateway,同时服务注册/发现、配置则使用一个统一的Nacos。这样做好处显而易见,例如:开发时的代码冲突及分支合并、运行时系统资源分配及性能优化等都不打架、对某个服务的扩缩容也方便、K8S容器化也方便
2024-10-31 19:06:55
1016
1
原创 Springboot服务HTTP/HTTPS双监听及路由
一般来说SpringCloud Gateway到后面服务的路由属于内网交互,因此路由方式是否是Https就显得不是那么重要了。事实上也确实如此,大多数的应用开发时基本都是直接Http就过去了,不会一开始就是直接上Https。然而随着时间的推移,项目规模的不断扩大,当被要求一定要走Https时,就会面临各种困惑。
2024-08-01 15:28:45
725
原创 开源DMS文档管理系统 Nuxeo Vs Alfresco对比及 API 使用概述
文档管理系统(DMS:Document Management System)是一种软件系统,用于组织、存储、检索和管理电子文档和文件。这些文件可以是各种格式的电子文档,如文本文档、电子表格、图像、音频或视频文件等。
2024-05-29 19:00:08
4807
原创 JTextField限制只能输入特定字符
限制 JTextField 输入内容的原理涉及到对文本框中的文本进行监听和过滤。Java中,JTextField 使用 Document 对象来管理文本内容。Document 是一个抽象类,JTextField 默认使用 PlainDocument 的实例来存储文本。限制输入内容的原理通常涉及两个步骤:1、监听用户输入: 通过添加文本修改监听器(如 DocumentListener)或者拦截键盘输入事件(如 KeyListener),程序能够实时监测用户的输入行为。
2024-04-25 19:52:44
1079
1
原创 Azure AD统一认证及用户数据同步开发指导
本文主要目的为:指导开发者进行自有服务与Azure AD统一认证的集成,以及阐述云端用户数据同步的实现方案。本文除了会介绍必要的概念、原理、流程外,还会包含Azure门户设置说明,以及使用Fiddler进行全流程的实操验证,同时还会结合实际的业务需求提出具体的方案建议及关键实现方法的说明,以此达到开发指导的效果。
2024-04-22 10:54:09
2908
原创 【手撸IM】通讯协议设计与实现
之前说过要手撸一个 IM 需要考虑的东西太多了,以至于前期做的很多工作与 IM 本身其实并没有太多直接的关系,例如:分布式策略、接入服务等。上一篇抛砖引玉的介绍了消息IM的设计与实现,现在谈下如何设计与实现一个私有的通讯协议。
2024-03-20 22:23:40
1536
原创 【手撸IM】消息ID设计与实现
微信团队是这样看这个问题的:要解决消息的唯一性、顺序性问题,可以将一个技术点分解成两个:即将原先每条消息一个自增且唯一的消息ID分拆成两个关键属性——消息ID(msgId)、消息序列号(seqId),即消息ID只要保证唯一性而不需要兼顾顺序性(比如直接用UUID)、消息序列号只要保证顺序性而不需要兼顾唯一性,这样的技术分解就能很好的解决原本一个消息ID既要保证唯一性又要保证顺序性的难题。如何快速高效的生成消息数据的唯一 ID ,是影响系统吞吐量的关键因素。这里我给出一个分布式 IM 消息ID的实现。
2024-03-12 11:14:36
485
原创 Java轻量延迟重试队列实现
很多开放平台都使用Webhook的方式进行外部系统数据同步或者通知,对于Webhook请求的对外发送不进行重试显然有点说不过去。使用简单的while一个条件去重试N次好像达不到什么效果,只能是说有重试而已,而使用消息队列中间件好像依赖又太重,于是索性自己动手写一个抽象范型延迟重试队列组件。
2024-03-04 15:16:50
1065
原创 JAVA版网易云音乐格式转换器
RC4 加密算法的核心思想是通过在初始状态下生成一个伪随机的字节流,然后将明文与这个字节流进行异或运算,从而得到密文。使用初始状态的 S-box(置换盒:Substitution Box)。S-box 是一个包含 0 到 255 的数字的数组,初始状态下是有序的。根据给定的密钥,通过对 S-box 的多次置换和交换来打乱其顺序,生成一个混乱的 S-box。使用经过打乱的 S-box。利用 S-box 生成一个伪随机的字节流,这个字节流被用作密钥流。将明文与密钥流进行异或运算,得到密文。
2024-01-25 17:03:35
1688
2
原创 一个通用树型数据结构表达及其紧凑序列化方法
在面对树型数据结构对象的传输问题中需要对面2个问题:1、如何表达具备父子关系的树型对象?2、如果减少该对象在传输过程中的IO?显然,对于问题1,如果可以定义一个通用的泛型数据结构在将来的类似问题的处理上会更加的方便。对于问题2,显然越小越好。下面我给出一个完整的实现示例,供大家参考。
2023-12-05 16:02:55
153
原创 本地缓存代码实例及常见缓存淘汰策略简介
应用服务端开发干的事情基本都是围绕数据的读和写展开的,本文先对常见缓存淘汰策略进行简介,然后再对常用的LRU和LFU的代码实现和使用给出实例。
2023-03-09 11:45:21
307
原创 ChatGPT接口使用及计费策略简述
在2022年11月中旬,chatgpt这个问答AI开始爆火,由于chatgpt目前仅限于官网网页版访问使用,登录也麻烦。于是有些作者在解析网页后做了可供第三方使用的插件等等,但是这一切在12月13日OpenAI官方加了cf认证后基本告一段落。因此,有些作者转而使用官网提供的低配版chatgpt,也就是用text-davinci-003模型代替的弱化版chatgpt,而OpenAI官网提供了对text-davinci-003模型的API。这里简单说下其API的使用及计费策略。
2023-02-19 19:53:46
7499
原创 高效数据加密混淆方法及实现简介
当需要对数据的传输或表达有安全级别不高的可逆加密,但要求其加解密时间复杂度越低越好,这时使用常规的对称加解密(3DES、AES)或者非对称加解密(RSA、ECC)显然不合适。首先(1),加密的安全级别和加解密时间复杂度两者之间就是一对矛盾,那么如何做到破解起来不那么容易,加解密本身又非常高效的熊鱼兼得呢?本文介绍相关方法。
2023-02-02 15:13:09
2279
原创 [jmxParser]一次正则匹配实现JMeter测试计划内容提取
[jmxParser]一次正则Pattern.matcher(content)调用实现jmx内容提取
2022-12-22 16:58:47
469
原创 使用Netty非聚合HTTP请求方式实现分片式文件服务
使用Netty做HTTP文件服务可以有两种选择:1、使用HttpObjectAggregator聚合。2、不使用HttpObjectAggregator聚合。本文阐述一个使用netty非聚合的文件上传示例。
2022-11-17 23:10:12
874
3
原创 小白级CentOS下yum方式安装OpenLDAP(SSL)及phpLDAPadmin部署教程
CentOS下yum方式安装OpenLDAP及phpLDAPadmin小白保姆级安装教程。
2022-08-29 20:05:38
2827
原创 一个关于国产化适配 的PPT文案
前一阵,对外做了一个直播,主题是关于信创国产化,由于本身就为公开对外直播,无保密相关问题,因此,当时的PPT文案在此公开,供大家参考。
2022-04-02 15:36:19
24216
12
原创 Java版Akka-Rpc性能测试
1. 背景之前用Java基于Actor模型实现了一个RPC,主要设计要求如下:1、使用protostuff序列化。2、使用Netty进行通讯。3、路由策略:随机路由、指定Key路由、资源Id路由、强制路由。4、使用ZK进行集群状态管理。5、使用自定义注解进行服务注册及辅助控制(线程数量、方法名称设置等)6、使用Disruptor实现收件箱、发件箱。7、使用ThreadLocalRandom规避jdk8UUId性能有限问题。其中1、2、6、7与性能相关,但最终的效果能达到一个什么水平,也
2022-03-20 17:05:37
1123
原创 JAVA高性能有界内存队列-Disruptor 简介及使用示例
Disruptor是一个高性能的有界内存队列,它在 Apache Storm、Camel、Log4j 2 等很多知名项目中都有广泛应用。之所以如此受青睐,主要还是因为它的性能表现非常优秀。它比 Java 中另外一个非常常用的内存消息队列 ArrayBlockingQueue(ABS)的性能,要高一个数量级,可以算得上是最快的内存消息队列了。它还因此获得过 Oracle 官方的 Duke 大奖。
2022-03-15 16:17:23
2052
原创 编译原理抽象语法树生成及执行实例
打印1+1结果搞得这么复杂并非炫技,只是用于简单展示:1、词法分析器;2、语法分析器;3、脚本编译器;4、编译执行器,四个过程,因为他们是实现自定义脚本引擎的基础。
2022-03-11 03:09:03
1947
原创 Java版Akka-Rpc实现与应用
Akka框架作为Akka是一个以Actor模型为基础构建的基于事件的并发编程框架,由于Akka框架底层使用Scala语言实现,加之存在一些“月经”问题,因此使用JAVA基于Actor模型去现实了一个RPC,从大致上来说,可以将该RPC认为是一个JAVA版的Akka,不过,在实现的过程中一些处理方式又不尽相同。
2022-03-07 12:23:41
2101
国产化适配经验分享PPT
2023-06-26
JMeter 通用 HTTP 自定义采样器
2023-05-10
基于Actor模型的RPC
2022-03-07
[JAVA]-Axis-Webservice-Demo
2013-03-15
[c#]B+树的C#实现-BPlusTreePrototype
2013-02-17
[Asp.Net]MVP Demo
2012-12-03
[Java]Ibatis Spring Integration Demo
2012-12-03
Jersey Spring Integration Demo
2012-11-07
数据库String查找工具
2008-12-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人