- 博客(118)
- 收藏
- 关注
原创 XXL-JOB分布式调度中心
XXL-Job任务调度系统的注册与调度流程:客户端启动时自动扫描配置类,通过XxlJobAdminAutoConfigure注册执行器,过滤带有@XxlJob注解的JobHandler并存入本地仓库,同时向调度中心注册节点。调度中心初始化时通过XxlJobAdminConfig加载配置,启动核心管理组件。整个过程实现了分布式任务的高效注册与调度管理。(98字)
2026-08-11 10:36:54
213
原创 一些好玩的Java工具类(持续更新)
本文介绍了两个Java工具类:图片压缩工具和阿里云OSS对象存储工具。 图片压缩工具类: 基于Thumbnailator库实现图片压缩 支持JPG/PNG/BMP/GIF格式 可设置最大文件大小(默认20KB) 提供文件夹批量处理功能 采用动态调整质量/尺寸的压缩策略 阿里云OSS工具类: 生成前端直传的临时签名 包含有效期、文件大小限制等安全策略 与Spring Boot集成,通过配置类管理参数 提供REST接口供前端获取签名 配套前端JS上传代码示例 此外还简要提及了微信登录工具类,用于获取用户open
2026-06-30 10:25:51
42
原创 大模型学习入门-术语解释
本文介绍了大模型相关的关键术语和概念:提示词(prompt)是与模型的交互语句,系统提示词(systemprompt)是模型的行为约束。模型通过token处理信息,在上下文窗口内生成内容,但可能出现事实错误的"幻觉"。技术方法包括结构化输出(StructuredOutput)、函数调用(FunctionCalling)和检索增强生成(RAG)。Embedding和向量数据库用于知识存储检索,微调用于模型定制。Agent能自主完成任务,MCP是工具调用协议。Skill是封装的能力模块,可快
2026-06-30 10:12:55
197
原创 微信小程序接入支付宝沙箱支付(http请求)
本文介绍了支付宝沙箱支付在SpringBoot项目中的集成实现。主要内容包括:1)支付宝沙箱环境的配置,包括密钥设置和YML参数配置;2)后端支付接口实现,包含订单创建、支付请求发送和异步回调处理;3)微信小程序前端支付流程,通过web-view加载支付页面并实现轮询查询支付状态。文章详细说明了支付请求参数组装、签名验证、交易状态处理等关键环节,同时提供了完整的代码示例,包括异常处理和资源释放等细节。最终实现了从发起支付到支付结果确认的完整流程,适用于开发测试环境下的支付功能验证。
2026-03-11 15:56:21
719
2
原创 IDE缓存配置等位置更改(自存)
本文介绍了如何通过符号链接迁移IDEA的存储目录。首先关闭IDE和JetBrainsToolbox,将原目录(如C:\Users\用户名\AppData\Local\JetBrains\IntelliJIdea2023.3)文件剪切到新目录(如D:\JetBrains\IntelliJIdea2023.3)。然后删除原目录,以管理员身份运行cmd,执行mklink/D命令建立符号链接,将原路径指向新路径。这种方法可以保留原路径访问方式,同时实现存储位置的迁移。
2026-02-22 18:20:00
717
原创 JUC中Future及CompletableFuture
本文介绍了Java中Future和CompletableFuture的异步编程方法。首先讲解了创建线程的三种方式,重点分析了Future接口及其实现类FutureTask的使用方法,指出其存在的阻塞和轮询问题。然后详细介绍了CompletableFuture的优势,它通过回调机制解决了Future的缺陷,支持任务编排和链式调用。文章还对比了两种API的差异,并通过电商比价案例展示了CompletableFuture的性能优势。最后总结了CompletableFuture的核心API及其适用场景,包括结果处理
2025-11-26 22:08:56
1055
原创 策略模式、模版方法模式、命令模式、简单工厂
摘要:本文介绍了四种常见设计模式及其应用场景:策略模式(算法可替换)、模板方法模式(固定流程扩展细节)、命令模式(请求封装解耦)和简单工厂模式(统一对象创建)。重点阐述了基于Hook机制的实现方案,通过CommonHook接口和HookExecutor管理器,结合反射和优先级注解,实现了按顺序执行不同优先级子类逻辑的功能。该方案融合了四种设计模式的特性,提供了一种灵活的业务逻辑扩展方式。代码示例展示了类扫描、Hook执行和优先级控制的具体实现。
2025-11-10 17:30:00
970
原创 设计模式之单例模式
单例模式是一种确保类只有一个实例并提供全局访问点的设计模式。主要实现方式包括:饿汉式(类加载时创建实例)、懒汉式(使用时创建实例)和静态内部类式。其中懒汉式需要考虑线程安全问题,可通过双重检查锁机制配合volatile关键字解决;静态内部类方式则利用JVM类加载机制实现线程安全的延迟加载。此外,枚举类型是最简洁安全的单例实现,能避免多线程和反射破坏单例的问题。每种实现方式各有优缺点,需要根据具体场景选择合适的方案。
2025-11-09 16:17:15
1014
原创 微信小程序API
微信小程序开发指南摘要:微信小程序提供丰富的API(如用户信息、支付、登录等)挂载在wx全局对象下。核心API包括网络请求(wx.request)、本地存储(wx.getStorage)、页面导航(wx.navigateTo)等。开发中需配置服务器域名,生产环境强制校验合法性。服务端接口调用示例展示了通过code换取openId的jscode2session实现,使用RestTemplate发起请求并解析返回结果。开发工具支持本地调试时不校验域名合法性。
2025-11-06 17:51:03
911
原创 项目中使用QQ邮箱发送邮件
QQ邮箱配置及邮件发送方法:首先登录QQ邮箱官网开启POP3/IMAP/SMTP服务获取授权码。在Java配置文件中设置SMTP服务器(smtp.qq.com)、端口(465)、邮箱账号和授权码等信息。引入spring-boot-starter-mail依赖后,通过JavaMailSender即可发送邮件。示例代码展示了如何发送包含6位随机验证码的邮件,包括设置邮件主题、内容和收件人邮箱等操作。注意授权码需保密,更改QQ密码会导致授权码失效。
2025-11-06 17:22:53
682
原创 微信小程序开发
微信小程序开发入门指南 注册与配置: 使用新邮箱在微信公众平台注册小程序账号 完善小程序基本信息,设置成员权限(开发者/体验成员) 开发准备: 获取AppID和AppSecret 下载安装微信开发者工具 了解小程序目录结构(主体文件+页面文件) 开发基础: 创建项目时填写正确的AppID 掌握页面文件创建方式 了解微信基础库版本选择 熟悉4种配置文件的作用 注意事项: 开发者工具需联网使用 主体文件必须放在根目录 页面文件需包含.js和.wxml
2025-11-05 21:02:10
1432
原创 java程序是如何运行的?
Java虚拟机方法区在JDK7及之前由永久代实现,依赖JVM内存;JDK8及之后改为元空间,使用本地内存。Java文件首先被编译为class字节码文件,由类加载器加载到JVM中。类加载过程包括加载、验证、准备、解析和初始化,采用双亲委派机制防止重复加载。堆内存存储对象实例,垃圾回收基于可达性分析算法判断对象存活,主要使用标记-清除、标记-复制和标记-整理算法。栈和程序计数器是线程私有的,分别存储方法调用和指令地址。方法区存储类元数据和运行时常量池,类加载完成后将信息存入方法区。
2025-10-29 16:17:34
716
原创 服务发现机制(SPI)
JDK SPI是一种本地服务发现机制,通过配置文件实现接口与实现的解耦,提升框架扩展性。它在META-INF/services/目录下以接口名创建文件,声明具体实现类,如JDBC驱动加载就采用此机制,使数据库切换只需更换依赖而无需修改代码。这与RPC的远程动态服务发现不同,SPI主要用于本地组件替换,而RPC依赖注册中心实现跨网络服务调用。两者都解决服务发现问题,但应用场景不同。
2025-10-10 10:21:30
481
原创 Java中的Hook机制
Java的Hook机制类似于AOP,通过在特定业务点插入自定义代码(如日志落库)实现逻辑解耦。通过定义通用Hook接口(如CommonHook)和具体实现类,结合反射机制实现动态调用。该机制支持权重设置,可控制多个Hook的执行顺序,从而达到简化代码、增强灵活性的目的。
2025-10-10 10:00:02
580
原创 Java中Mock的写法
文章摘要:Mock是软件开发中的测试技术,用于模拟对象行为以隔离测试目标。它通过创建虚拟依赖对象,使测试更可控高效。文中以Java代码为例,展示了如何使用Mockito框架:通过@Mock注解创建B类mock对象,用@InjectMocks注入到A类,并用when().thenReturn()设置模拟返回值,从而跳过B类实际逻辑。这种技术特别适用于单元测试中需要隔离依赖的场景。
2025-10-10 09:40:41
382
原创 RabbitMQ
RabbitMQ是一个开源消息代理,支持多种协议,采用生产者-消费者模型实现异步消息传递。核心协议AMQP提供可靠的消息路由机制,通过交换机(Direct、Topic、Fanout、Headers四种类型)与队列的绑定实现灵活的消息分发。队列支持多种特性:持久化存储、惰性队列降低内存压力、镜像队列实现高可用、死信队列处理异常消息、延迟队列实现定时任务等。系统包含Broker服务器、虚拟主机隔离、连接/信道管理等组件,确保消息可靠传输与高效处理。
2025-06-09 10:25:16
1568
原创 SpringCloud基础知识
SpringCloud的学习笔记,主要是一些SpringCloud的基础知识,包括Nacos+RabbitMQ+ES
2025-05-29 22:08:49
934
原创 数据库面试题小结
数据库是存储和管理数据的核心工具,涉及多种连接方式、SQL语言类型、约束、视图、事务、锁、索引等概念。内连接和外连接的主要区别在于数据匹配方式,内连接仅返回匹配的行,而外连接则保留未匹配的行并用NULL填充。SQL语言包括DDL、DML、DQL、DCL和TCL,分别用于定义、操作、查询、控制和事务管理。约束如主键、唯一、外键等确保数据完整性。视图是虚拟表,简化查询并增强安全性。事务通过ACID特性保证数据一致性,锁机制控制并发访问。索引提升查询效率,但增加存储和维护成本。
2025-05-15 13:44:56
548
原创 JVM面试题
本文详细探讨了JVM(Java虚拟机)的多个关键方面,包括内存模型、垃圾回收机制、类加载机制、双亲委派模型等。文章首先介绍了JVM的内存模型(JMM)及其在多线程环境下的数据访问规则,接着讨论了JVM的基本概念、类加载机制和对象实例化过程。随后,文章深入探讨了JVM的双亲委派模型及其重要性,并提供了JVM调优的思路和实际经验,如处理CPU飙升和GC调优。此外,文章还解释了内存溢出和内存泄漏的含义,并介绍了如何判断对象存活、完整的GC流程以及如何避免FullGC。
2025-05-15 13:36:35
981
原创 CentOS7 环境配置
主要是一些CentOS的环境搭建,包括git、jdk、nodejs、python3、maven、mysql、redis、rabbitmq、tomcat、nginx、docker
2025-04-22 19:24:44
1193
原创 Java并发编程3(CAS)
Java并发编程(3):Java内存模型、由于可见性以及指令重排导致的多线程并发问题、无锁编程(CAS)、简单介绍并发设计模式、volatile关键字
2025-03-23 14:45:01
765
原创 Java并发编程2(锁-Sychronized)
Java并发编程(2):Java对象头、sychronized的原理解析、死锁、活锁、饥饿、Reentrantlock基本操作
2025-03-23 10:47:47
1131
子绝父相,子级元素不能覆盖原来的图
2023-08-16
将在 VS Studio 上面写的程序打包成exe文件运行出现问题
2023-05-07
报错:调试断言失败。
2023-04-18
VS Studio2022从文件中读取中文出现乱码
2023-04-23
报错:未找到匹配的调用运算符是咋回事啊,求解答
2023-04-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅