- 博客(116)
- 资源 (10)
- 收藏
- 关注
原创 【Java】从封装到扩展:如何为 JDBC 工具设计一套可插拔的拦截器机制
摘要 本文提出了一种为JDBC工具设计可插拔拦截器机制的工程化方案。针对传统工具类封装在复杂业务场景下的局限性,作者建议采用责任链模式构建拦截器体系,围绕JDBC执行的四个关键阶段(SQL准备、参数绑定、执行和结果处理)进行扩展。文章详细阐述了五项核心设计原则,包括无状态拦截器、Context对象传递、责任链proceed机制等,并给出了推荐的核心结构设计。同时总结了8个实践中的常见陷阱,推荐了数据源切换、SQL改写和审计统计三个最有价值的拦截器实现。这种责任链+Context+插件化的设计模式能有效支持多
2025-12-30 11:34:01
656
原创 【IDEA插件】Bookmark-X 一款书签扩展插件
Bookmark-X是一款帮助开发者管理代码书签的工具,支持书签分组和快速导航功能。用户可通过快捷键添加书签(默认保存在根目录),右键创建分组并设置激活状态。使用方向键快捷键可在当前分组内切换书签位置,还支持拖拽调整书签顺序。该项目开源,欢迎在GitHub/Gitee参与开发。主要功能包括:书签分组管理、分组内快速导航、书签顺序调整等,帮助开发者避免在复杂代码中迷失方向。
2023-10-11 00:25:45
2485
2
原创 【生命游戏】纯前端web版,可在线体验
本文介绍了一个基于Web的生命游戏实现,作者将之前用Java Swing开发的版本重构为JavaScript网页版。文章提供了游戏简介、效果图展示和完整源码链接。生命游戏是由数学家J.H.Conway提出的细胞自动机,遵循四条基本规则:孤单死亡、拥挤死亡、稳定存活和复活。网页版通过HTML构建界面,CSS实现样式设计,JavaScript处理游戏逻辑。界面包含游戏说明、细胞网格显示区和操作面板,支持调整行列数量、演化速度和分布密度等参数,提供重新布置、随机分布、下一周期和开始演化等功能按钮。源码已开源在Gi
2020-03-26 22:19:04
15040
4
原创 【教程】一键切换Claude配置,玩转多款国内AI大模型
本文介绍了一个用于快速切换Claude Cli配置的Windows批处理脚本。该脚本通过预设多个settings-xxx.json配置文件,允许用户便捷地在不同LLM模型配置间切换。主要功能包括:1)自动扫描presets目录下的所有json配置文件;2)提供交互式菜单供用户选择目标配置;3)自动备份当前settings.json文件;4)将选定的配置文件覆盖到目标位置。使用方法简单,只需运行脚本后输入对应配置编号即可完成切换,适合需要频繁更换Claude配置的用户使用。
2026-04-06 00:18:54
385
原创 【教程】DataGrip连接OceanBase
本文介绍了数据库连接配置的两个关键步骤:首先添加JDBC驱动,通过图示展示了驱动加载的具体操作界面;然后创建数据源,演示了数据源配置的完整流程。整个过程通过清晰的截图说明,帮助用户快速完成数据库连接设置。
2026-03-13 20:32:55
167
原创 【教程】Window下安装OpenClaw
摘要 本指南详细介绍了在Windows系统下使用WSL2搭建AI自动化工作站的完整流程。主要内容包括:1) 推荐使用WSL2(Ubuntu)确保兼容性;2) 精准安装到D盘避免C盘空间问题;3) 通过nvm配置Node.js环境;4) 使用pnpm安装OpenClaw并初始化;5) 接入QQ机器人平台实现AI交互功能。最后提供了内存优化、文件传输和IDE接入等实用维护建议,帮助开发者高效管理WSL2环境。整个部署过程强调命令行操作和配置文件修改,适合有一定技术基础的开发者参考。
2026-03-11 18:26:54
937
2
原创 【Java】SpringBoot 源码学习大纲
本文系统梳理了Spring Boot和Spring Framework源码进阶学习路线,从使用层到设计层逐步深入。核心内容包括IOC源码(BeanFactory体系、BeanDefinition、循环依赖)、AOP源码(代理机制、事务原理)、生命周期扩展点(BeanPostProcessor)以及Spring Boot自动装配机制。学习目标包括掌握源码核心流程、排查问题能力及扩展开发技巧,推荐结合Debug和手写简化版框架进行实践。适合有Spring基础的Java开发者系统提升源码阅读能力。
2026-01-16 15:21:45
733
原创 【Java】MyBatis源码学习大纲
摘要:MyBatis源码学习应遵循"由浅入深"原则,分为环境搭建、SpringBoot集成、核心生命周期、高级特性和设计模式五个阶段。重点包括Mapper代理生成机制、SQL执行流程四大对象、插件原理等核心内容,同时关注工厂模式、代理模式等典型设计模式应用。建议通过Debug关键方法、绘制时序图等方式加深理解,重点掌握动态代理和ORM实现原理。
2026-01-16 15:00:26
436
原创 【Java】动态代理:发布订阅的高级玩法
本文探讨了动态代理在发布订阅模式中的创新应用。传统事件模型存在弱类型、语义不清晰等问题,而代理式发布订阅通过将事件定义为接口协议,利用动态代理将方法调用转换为消息分发,实现了强类型、解耦和扩展性。这种设计让发布者无需感知订阅者,支持一对多通信,并提供AOP级别的扩展能力,特别适合IDE、插件化系统等复杂场景。文章对比了两种模式的差异,指出动态代理的核心价值在于将"事件"升级为"接口协议",为大型系统提供更好的可维护性和架构自由度。
2025-12-27 17:23:52
598
原创 【Java】CAS如何保证原子性
意思是:如果地址中的当前值等于,就把它改成newValue,否则什么都不做。这个过程是原子的要么整个比较+替换一起成功;要么失败,什么都不做。CAS 能保证原子性,是因为它底层依赖于 CPU 提供的原子指令(如),并由 JVM 封装成 native 方法向上暴露给 Java 层使用。如果你想,我可以继续展示具体平台下的汇编代码或Unsafe的真实源码调用路径。是否继续深入?
2025-06-25 15:27:31
805
原创 Java中@SuppressWarnings注解可以使用的参数列表
Java中@SuppressWarnings注解可以使用的参数列表,以及他们的作用
2023-03-30 10:35:08
658
转载 【嵌入式】分享一个嵌入式中Makefile的通用Demo
1.前言之前因为稍微学了点Makefile的基本语法,所以就想着自己写个Makefile,一来以后自己作参考,二来也是可以复习下之前的一些命令,三来就是分享啦~2.基本功能键入make:*自动生成elf、lst、hex、bin、o文件;*判断当前目录下是否有输出文件output、二进制文件obj的文件夹,若无,则新建,有则不执行;*将输出文件和目标文件自动移动值对应文件夹;键入make DEBUG...
2022-10-25 11:55:32
533
原创 Java插件思路(SPI机制)
SPI(Service Provider Interface),是JDK内置的一种 服务提供发现机制,可以用来启用框架扩展和替换组件,主要是被框架的开发人员使用,比如java.sql.Driver接口,其他不同厂商可以针对同一接口做出不同的实现,MySQL和Oracle都有不同的实现提供给用户,而Java的SPI机制可以为某个接口寻找服务实现。Java 中 SPI 机制主要思想是将装配的控制权移到程序之外,在模块化设计中这个机制尤其重要,其核心思想就是解耦。
2022-10-17 23:26:27
2876
2
转载 【代码分享】如何用C语言实现合并蓝牙HCI日志?
1.前言因为最近负责的是蓝牙相关的项目,难免和HCI日志打交道,很多时候由于测试经常开关蓝牙,导致手机端生成的HCI比较零散,有个时候就需要用ellisys打开几份日志,不免有些麻烦。之前的blog不是有用C语言实现批量修改文件类型嘛,所以这次就想着能不能用C语言写个合并HCI日志的程序。结果,哈哈,花了周日整整一天,才完成了,尴尬,中间确实犯了不少的低级错误。2.HCI日志文件简单介绍HCI日志...
2022-10-01 17:40:17
597
转载 【嵌入式】linux下如何用gcc编译器生成.lst文件?
工作中又用到 lst 文件去定位一些问题,因此突然又对这个文件产生了兴趣(因为之前几次也查过百度,苦于一直没找到直接的方法),这次就是先请教了工作的前辈,然后又整合了各方资料,总算是生成了 lst 文件了,因此写一篇 blog记录一下。首先 lst 文件有什么用?lst文件即列表文件,它是由 elf 文件通过 objdump 反汇编得到的。生成过程中通过 objdump 的相关命令,可以在lst文...
2022-09-17 00:44:53
2199
1
原创 【JavaFx】判断ListView是否滚动到最后一个元素
当我们想使用 JavaFx 的 ListView 实现滚动到最后的时候加载更多数据时,却发现 ListView 没有相关的 API。这个时候我们需要使用 VirtualFlow 对象来实现。
2022-07-24 21:28:50
564
转载 【嵌入式 C】什么是奇偶校验?如何用C语言实现?
在串口工具以及在代码中配置串口时,经常会看到奇偶校验。那么奇偶校验是什么,它的作用是什么呢?且听博主娓娓道来~1.为什么要有奇偶校验?它是为了解决数据在传输过程中由于环境干扰导致接收的数据与发送数据不一致的问题而引入的一种校验方法,它的优点是实现简单,缺点就是校验的准确率不高,检错率只有50%,比如偶数个位同时受到干扰翻转,那么奇偶校验是检查不出来的。并且只能判断错误,数......
2022-07-23 11:30:25
1438
转载 【代码分享】双向循环链表的C语言实现
在工作中的项目有用到双链表,尤其是跟着别人写双链表代码的思路,自己去看总觉得没那么顺,感觉以后也会经常用到,所以索性自己写一个出来,细节由自己去把握,终于是理解了这一块,以下是实现双链表的所有源码:#include<stdio.h>#include<malloc.h>typedefstructList{structLi......
2022-07-05 18:20:15
268
原创 【数据结构】人名查询哈希表设计(链地址法)
哈希表使用「链地址法」解决地址冲突的方式,其数据结构就采用 数组+链表 ,数组的每一个元素都是一个链表节点,当地址冲突时,就往当前地址的链表末尾追加,这里可以把上一篇文章「 线性探测法 」稍作修改即可......
2022-07-03 15:09:11
2061
转载 【嵌入式】嵌入式开发为什么要跑操作系统?
我们知道,在单片机的「裸机系统」中,是用一个while死循环保证程序的运行,偶尔加点中断去执行其他的功能。这种方式的优点就是简单,方便理解,我们初学者刚开始接触的就是这种方式。但是这种方式的缺点也很显然:「1.实时性不强,不能优先保证重要或者优先级较高的程序的运行」在一些代码较少的程序中还不明显,但是如果程序功能复杂,代码量大,运行时间长,这种方式就显得更加难以运行下去。.........
2022-06-25 20:47:26
1785
转载 【经验分享】VMware中Ubuntu如何设置共享文件夹并以图形化的形式看到?(附安装包)...
哦~,对于我这种有点强迫症的人来说在用Ubuntu的时候老是想直接快捷选择共享文件夹并且打开,传输物理机与虚拟机之间的文件,也是捣鼓了一阵才真正看到了设置的共享文件夹,以下是其中的操作步骤:1.安装VMware Tools?这个是成功设置共享文件夹的前提,请大家务必安装好,这个安装教程网上有超级无敌多,并且很多时候都是自动安装了的,所以这里我就偷个懒,不给大家一一展示了哈......
2022-06-09 11:30:22
1285
2
转载 【代码分享】C语言对字符串中的整数进行求和
1.前言这几天看到一道题:输入一串字符串,将其中的整数剔除出来并且求和。在这里会用到一个函数:❝int atoi(const char *str)「作用」:将str 所指向的字符串转换为一个整数❞使用这个函数的过程中需要注意的是输入的字符串最好是数字的字符串,比如“1234”,而不是字母等和数字的混合,这样的话是无法转换出来其中的整数的。但是亲测了一种情况是可以的:字符...
2022-05-28 19:40:14
2808
原创 【资源分享】一款bootstrap开发的后台管理系统前端模板
模板简介Hyper 是一个 bootstrap 开发的、功能齐全的仪表板和管理模板,带有精心设计的 UI 元素、组件、小部件和页面的色调。超级干净和灵活的布局将使您能够轻松构建Web应用程序。它可用于创建基于saas的界面,自定义管理面板,仪表板,CRM,CMS,电子商务面板等。预览链接:https://coderthemes.com/hyper/saas/index.html界面展示下载链接商用https://themes.getbootstrap.com/product/hype
2022-05-23 00:11:21
1918
转载 【代码】如何用C语言实现批量修改文件类型?
1.前言这些天接触了用C语言打开以及读取文件内容后,突然想到是否可以用C语言更改文件类型(越学越发散了,本来想着专搞嵌入式方面的),愈发的觉得咱C语言还是挺强大的哈。首先的需要知道就是C库有没有类似读取文件的这种函数来读取文件名,要自己写的话那可真太复杂了,到网上搜了下,幸好,还真有:DIR * opendir(const char * name);【函数说明】open...
2022-05-20 20:20:45
1283
原创 【C++课程设计】成绩管理系统
文章目录功能介绍开发环境文件预览运行截图下载地址功能介绍添加学生信息可以添加学生信息,包括学号、姓名、班级、专业和多科成绩;删除学生信息根据屏幕输入的学号,删除对应的学生信息;修改学生信息根据屏幕输入的学号,修改对应的学生信息;查找信息可以根据学号、姓名或者专业班级查找学生成绩信息;单科分数段划分支持单科目成绩划分,90分以上为优秀,60-90为及格,60以下为挂科;依次打印学生信息打印所有已经添加的学生信息退出程序并保存信息退出时将学生成绩信息保存
2022-05-18 00:08:14
2426
转载 【嵌入式 C】C语言中格式输出二进制的两种方法
1.前言在我们日常的编程中,有时候需要格式化输出一个整形数据的二进制,但是在我们C语言中只有输出十进制:%d;输出十六进制:%x;输出单个字符:%c;输出字符串:%s;输出变量所在的地址:%p。而并没有这种二进制对应的格式,所以需要我们手动来实现。2.源码实现本篇博客给大家介绍两种方法:1.通过库函数itoa,需要包含头文件:#include <stdlib.h&g...
2022-05-12 12:14:27
2080
转载 【嵌入式 C】C语言中转换大小写的另外一种简便算法
平常我们在写转换字符串大小写的算法时,一般的思路就是先依次判断单个字符的 ASCII 码值:位于 45~90 的为字母的大写,转换成对应的小写就是+32;位于 97~122 的为字母的小写,转换成对应的大写就是-32。其实还有一种更加简单的方法,利用的原理就是大小写之间相差 32,即转换成 2 进制之后第五位为 1 则为小写,第五位为 0 则为大写;举个例子就懂了:‘A’...
2022-05-05 08:23:47
402
原创 【资源分享】分享一款价值49刀的博客前端模板
之前在 Bootstrap 官网上看到一款不错的前端模板,使用 bootstrap 开发,适合用作社交类博客网站。大家可以前往预览:https://themes.getbootstrap.com/preview/?theme_id=110435
2022-05-01 19:09:58
996
1
转载 【嵌入式 C】嵌入式开发神器—SourceInsight的使用教程
很多入门嵌入式的初学者所用的代码编写软件都是 IAR、Keil 等 IDE(集成开发环境),这类软件的优点就是既可以编写代码,也可以编译、调试、下载程序,是我们初学者嵌入式开发的利器。今天给大家介绍的是公司基本上都会用到的神器— SourceInsight,因为在公司项目中,代码量都非常大,少的的可能几百几千个文件,多的可能数万个文件,所以此时查找代码以及阅读代码成为了我...
2022-04-26 12:07:14
8352
1
Termius 7.13.0 (windows免登录版)
2024-06-06
人名查询哈希表设计(链地址法)
2022-07-03
【C++课程设计】成绩管理系统
2022-05-18
【C++课程设计】图书管理系统
2021-07-04
生命游戏(可运行)v200108.zip
2020-01-08
词法分析器(java版有UI界面).zip
2019-11-29
java 语法分析器 (带UI界面)
2022-01-03
QuickCode(含jre运行环境).zip
2020-01-27
QuickCode v200127.zip
2020-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅