自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

go back

go back

  • 博客(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

原创 JVM是什么?

JVM是什么?

2026-03-01 13:35:57 55

原创 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

原创 Java IO及Netty框架学习小结

JavaIO相关知识(BIO、NIO)、Reactor模式、Netty框架学习

2025-05-18 21:48:13 834

原创 2024年美团春招技术岗第一批笔试

2024年美团春招技术岗第一批笔试

2025-05-16 11:57:56 1020

原创 数据库面试题小结

数据库是存储和管理数据的核心工具,涉及多种连接方式、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

原创 Java并发编程面试题总结

JUC并发编程

2025-05-15 13:33:23 1207

原创 Spring MVC

SpringMVC小结+SSM整合

2025-04-26 19:00:00 1208 1

原创 Servlet小结

Servlet小结

2025-04-25 19:00:00 1235

原创 若依项目部署小结

若依项目部署小结

2025-04-24 00:00:00 1560

原创 CentOS7 环境配置

主要是一些CentOS的环境搭建,包括git、jdk、nodejs、python3、maven、mysql、redis、rabbitmq、tomcat、nginx、docker

2025-04-22 19:24:44 1193

原创 设计模式之代理模式

设计模式之代理模式(动态代理+静态代理)

2025-04-06 21:07:06 698

原创 深拷贝和浅拷贝

深拷贝和浅拷贝

2025-04-06 11:37:19 297

原创 Java并发编程4(JUC篇)

Java并发编程4(JUC基础篇):ConcurrentHashMap和线程池

2025-03-24 15:26:03 764

原创 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

原创 Java并发编程1(初识线程和进程)

Java并发编程(1):初识线程和进程、线程安全

2025-03-22 14:09:14 1059

原创 LeetCode刷题2

LeetCode刷题记录

2025-03-16 16:58:42 442

原创 Java虚拟机

JVM(Java虚拟机)基本知识

2025-03-10 16:10:40 1325

原创 苍穹外卖总结

苍穹外卖学习随笔记录

2025-03-01 22:09:28 771

原创 Docker入门(Windows)

Docker入门,基于Windows For Docker + WSL2

2025-02-09 14:46:47 1562

原创 SpringCloud笔记

SpringCloud复习笔记

2025-01-16 11:43:29 344

原创 数据结构(ing)

数据结构复习

2024-12-30 21:12:15 871

原创 蓝桥杯(Java)(ing)

蓝桥杯备考

2024-12-30 21:11:45 1372

Spring amqp学习案例

用于学习RabbitMQ

2025-06-09

[数据库原理]事务分析(自用笔记)

数据库原理事务分析自用笔记

2024-07-02

[数据库原理]关系范式总结(自用)

关系范式(自用笔记)

2024-07-02

概率论与数理统计(期末自用总结版)

概率论与数理统计(期末自用总结版)

2024-06-26

概率论与数理统计(期末自用总结版)

概率论与数理统计(期末自用总结版)

2024-06-23

哈工大编译原理总结(自用)

哈工大网课总结

2024-05-18

编译原理期末总结(仅供参考)

编译原理期末总结(仅供参考)

2024-05-18

哈工大编译原理总结(自用)

哈工大网课总结

2024-05-03

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

TA关注的人

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