- 博客(56)
- 资源 (2)
- 收藏
- 关注
原创 DNS 解析异常排查:强制配置残留的原理与修复
系统 DNS 配置:macOS DNS 配置可被手动覆盖或被网络工具(VPN、代理等)动态修改。故障点:当这些手动或动态配置未能正确还原为 DHCP 自动获取时,系统将使用失效的 DNS 服务器。
2025-12-17 12:31:57
1465
原创 【一文搞懂】Spring Boot DevTools 类加载巨坑:从 `BeanNotOfRequiredTypeException` 说起
摘要:本文解析了Spring Boot开发中由spring-boot-devtools引发的BeanNotOfRequiredTypeException异常问题。该异常表现为"期望类型"与"实际类型"完全一致或接口与实现类不兼容的形态,根源在于devtools的双类加载器机制(Base和Restart类加载器)导致同一类被不同加载器加载后被JVM视为不同类型。文章对比分析了两种解决方案:Maven插件排除法(易造成类加载割裂)和更优的spring-devtools.p
2025-09-01 15:19:11
1002
原创 IntelliJ IDEA 反编译JAR包记录
本文介绍了使用IntelliJ IDEA内置Java反编译器进行JAR包反编译的详细步骤。主要内容包括:1) 工具准备,指明IDEA内置反编译工具的路径;2) 详细操作流程,从执行反编译命令到查看结果;3) 提供命令模板和批量处理脚本;4) 注意事项强调版权和路径问题;5) 总结关键命令。该方法无需额外安装工具,适合日常代码分析需求,但需注意遵守相关版权规定。
2025-08-28 17:55:46
1599
原创 布隆过滤器完全指南:从原理到实战
布隆过滤器完全指南摘要:布隆过滤器是一种高效的概率型数据结构,通过位数组和多个哈希函数实现快速元素存在性检测。其核心优势在于极低的空间占用(O(1))和恒定查询时间,但存在假阳性可能。本文详细解析了其数学原理、参数优化方法,并提供了Java实现代码,包含位数组初始化、哈希函数计算和误判率估算等关键功能。适用于海量数据场景如缓存穿透防护、爬虫URL去重等,开发者可根据预期元素数量和误判率动态调整参数。
2025-08-28 17:34:05
1263
原创 [特殊字符] 告别“大泥球”架构!一文带你入门DDD(领域驱动设计)核心思想与实战
摘要:本文介绍了领域驱动设计(DDD)的核心思想和实战应用。DDD是一种处理复杂业务领域的设计方法论,强调通过统一语言和边界划分来构建高内聚、低耦合的领域模型。文章对比了传统三层架构与DDD模式的差异,展示了如何将业务逻辑封装在聚合根中,而非臃肿的Service层。DDD特别适合业务复杂、需要长期维护的系统,以及微服务拆分场景,但可能不适用于简单CRUD应用。通过DDD,开发者可以实现从技术驱动到业务驱动的思维转变,提升代码的可维护性和业务表达能力。
2025-08-21 17:31:18
1289
原创 高手进阶:一文彻底搞懂Java中文拼音排序(内含多音字、自定义规则最佳实践) [特殊字符]
本文深入探讨了Java中实现中文拼音排序的三种方案:使用JDK内置的Collator类、houbb/pinyin专业库以及自定义规则。每种方案各有优劣:Collator无需依赖但多音字处理不精准;pinyin库能准确处理多音字但需引入第三方依赖;自定义规则灵活性强但实现复杂。建议优先选择pinyin库以获得最佳精度,在特殊需求时结合自定义规则,仅在严格零依赖场景下使用Collator。文章通过代码示例和类比分析,为开发者提供了清晰的中文排序解决方案。
2025-08-21 10:05:54
960
原创 Java与MySQL AES加密解密实战指南
本文介绍了在Java和MySQL中实现AES加密解密的两种方法。第一种是MySQL原生方式,使用AES_ENCRYPT()和AES_DECRYPT()函数,结合HEX()/UNHEX()进行数据转换。第二种是Java实现方式,提供两种选择:一种是在Java中调用MySQL加密函数,另一种是使用Java工具类完全在应用层处理加密解密。文中详细展示了SQL操作示例和完整的Java工具类实现,包括密钥生成、加密、解密方法,以及十六进制转换辅助函数。该方案适用于需要保护敏感数据的应用场景,开发者可根据需求选择最适合
2025-07-31 17:50:56
742
原创 [特殊字符] PostgreSQL MCP 开发指南
PostgreSQL MCP 是一个基于 FastMCP 框架的 PostgreSQL 数据库交互服务。它提供了一套简单易用的工具函数,让你能够通过 API 方式与 PostgreSQL 数据库进行交互。
2025-04-16 22:07:04
1065
原创 [特殊字符] MySQL MCP 开发实战:打造智能数据库操作助手
MCP(Model-Control-Panel)是一个创新的工具框架,它允许我们将工具函数暴露为API,使模型(如AI助手)能够直接调用这些函数。通过MCP,我们可以将繁琐的数据库操作封装成简单的函数调用,大大提高开发效率。通过MySQL MCP工具,我们成功将复杂的数据库操作封装为简单直观的API,使AI助手能够直接执行数据库任务。简单易用:清晰的API设计,易于理解和使用错误处理:详细的错误信息和原因分析灵活配置:支持多种配置方式安全可靠:参数化查询防止SQL注入完整功能:涵盖常见的数据库操作。
2025-04-16 21:51:56
1896
原创 ✅ MySQL 事务 & MVCC & ROLLBACK
✅ 快照读实验(多次 SELECT 结果一致)✅ 当前读实验(FOR UPDATE 加锁)✅ ROLLBACK 撤销事务并释放锁。✅ 手动设置事务隔离级别,排查幻读来源。✅ 插入新记录事务可见性测试。✅ 配合事务工具查看锁结构。✅ 锁状态监控与观察。
2025-04-16 21:05:20
625
原创 MySQL 慢查询日志深入分析与工具实战(mysqldumpslow & pt-query-digest)
MySQL 慢查询日志深入分析与工具实战(mysqldumpslow & pt-query-digest)
2025-04-16 21:00:44
1272
原创 MySQL Binlog 数据恢复总结
Binlog 是 MySQL 的“黑匣子”,在误操作发生时是你最后的防线。只有在“结构+数据+时间点”都被妥善记录的情况下,你才能做到完整恢复。
2025-04-16 20:56:59
674
原创 算法训练营day13 二叉树(递归遍历,迭代遍历,统一迭代,层序遍历)
2、中序遍历:(访问顺序和处理顺序不一致)(两步:中右左(前序)-> 反转(左右中)3、后序遍历:(处理顺序和右节点有关)方法一:(逻辑遍历)
2024-08-03 19:35:08
473
原创 操作系统 线程同步实验
掌握使用顺序表和循环队列实现队列的基本操作,如队列的插入、删除、遍历等,同时了解循环队列的内部实现原理和利用循环队列解决实际问题的方法。熟悉Linux下多线程编程的开发环境和基本思路,学会使用线程同步机制(如互斥锁、条件变量等)解决多线程编程中的共享资源竞争问题,实现一个生产者/消费者模型的多线程示例程序。同时,掌握Linux下多线程编程的基本调试技巧和方法。
2023-05-04 23:03:01
688
原创 idea 使用Generate 可能会遇到的问题
开头使用generate生成set和get方法时会产生下面问题。解决方案将Boolean类型数据改换为byte类型;使用generate产生正常的set和get方法。@Data注解是通过反射也存在问题。
2022-07-30 21:41:16
787
原创 用户管理系统项目(javaweb,jsp+servlet)MVC
用户管理系统(MVC)主要功能登录注册在线人数的显示用户信息的增、删、改、查用户在线状态的显示使用图表(柱状图、饼状图、折线图)显示数据项目运行效果1、登录界面:2、主页:表格:图标分析:用到的技术页面部分:jsp前后端链接:注解数据处理:数据库部分:c3p0链接池 + mysql数据库部分功能的实现:(1)在线人数显示功能在filter文件下写@WebListenerpublic class SessionOnline implements
2022-05-17 16:01:51
3402
8
原创 div + iframe与frameset + frame
一、div + iframe与frameset + frame对比frameset+framediv+iframe区域划分cols 和 rowscss 中 height 和width边框framebordercss 中 border链接name + targetname+target覆盖范围一般不会重合注意css中设置的范围2、name + target的使用 实现点击a页面中的标签,b页面发生变化name=“content”: 给需要变
2022-05-11 01:16:04
389
原创 小波图像处理
数字图像处理实验–小波图像处理前置知识:(1)wavedec2函数:格式:[C,S]=wavedec2(X,N,‘wname’)对图像X用wname小波基函数实现N层分解,wname取值:‘Haar’是哈尔小波,‘sym4’是Symlet小波。输出为C,S,C为各层分解系数,S为各层分解系数长度,也就是大小。(2)appcoef2函数:格式:A = appcoef2(C,S,‘wname’,N)提取小波变换的第N层分解的低频系数,其中C,S是wavedec2的输出。(3)detc
2022-05-02 19:40:24
7622
原创 Bomb Lab实验phase_6链表指针结构
00000000004010dc <phase_6>: 4010dc: 41 56 push %r14 4010de: 41 55 push %r13 4010e0: 41 54 push %r12 4010e2: 55 push %rbp 4010e3: 53 push %rbx
2022-05-01 08:45:00
1753
2
原创 数字图像处理 DCT变换
一、实验目的1、掌握使用MATLAB进行DCT变换的方法。二、实验内容使用 MATLAB 实现图像的DCT变换与逆变换,使用8*8的子图像进行变换编码。三、实验步骤1、对图像进行DCT变换并观察频谱,对DCT变换系数进行截断并使用截断后的系数进行逆变换,比较原图像与恢复后的图像。Matlab:clear all;close all;I = imread('lena.jpg');img_gray = im2double(rgb2gray(I));img_dct2 = dct2(img_g
2022-04-25 20:36:46
15546
5
原创 aliyun-java-vod-upload依赖安装问题
aliyun-java-vod-upload依赖安装问题首先找到maven依赖下载位置然后找到依赖对应的位置然后官网下载aliyun-java-vod-upload-版本.jar然后解压找到并打开lib(也就是对应jar包的文件夹)用cmd打开cmd.exe窗口输入下面命令注意:版本号要与下载jar包版本号一致mvn install:install-file -DgroupId=com.aliyun -DartifactId=aliyun-java-vod-upload -Dversion
2022-01-27 12:52:27
832
1
原创 (蓝桥杯)基础练习 Huffuman树
读入方法package algorithm.learning.basic;import java.util.Arrays;import java.util.Scanner;public class Main28 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] nums = n
2022-01-26 15:38:53
144
用户管理系统项目(javaweb,jsp+servlet)MVC
2022-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅