自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 2025 AI 打卡 Day4:10分钟学会老板最爱的10种图表!Matplotlib 终极速查表+真实业务案例(建议收藏)

Matplotlib实战全记录!本文献上一张“一生受用”的终极速查表 + 一个永不出错的终极画图模板 + 8个完整可直接本地运行的业务级demo(训练损失曲线、Top8柱状图、年龄分布直方图、广告费vs销售额散点+回归线、股价成交量双Y轴、A/B测试箱线图、2×2监控大盘、特征相关性热力图)。每张图均配高清代码+关键参数说明,复制即跑,截图即发。学会这8张图,报表、论文、监控大盘、领导汇报全部拿下,轻松超越95%同事。

2025-11-27 16:15:01 154

原创 2025 AI 打卡 Day3:我用一晚上把 NumPy 彻底啃透了(附超详细笔记+代码)

重点讲解 ndarray 创建、索引切片、形状操作、广播机制、逐元素加减乘除、矩阵乘法、聚合统计、线性代数等核心知识点,全部配可直接运行的代码示例。特别强调矢量化思维:只要用对广播和 ufunc,性能秒杀 for 循环 10~100 倍!文末附 3 个经典小练习(标准化、ReLU、行归一化),复制即用。看完此文,你将掌握 NumPy 90% 日常场景,后面学 Pandas、PyTorch、机器学习数据预处理再无障碍。2025 AI 打卡之路,越学越快,冲就完事儿了!

2025-11-24 10:26:38 666

原创 2025 AI 打卡 Day2:我踩了 5 个 Pandas 大坑后,终于画出泰坦尼克号 10 张图爆款 EDA 报告(完整排雷 + 终极可运行代码)

2025 AI 学习打卡第 2 天,我本想轻松画个泰坦尼克号 EDA,结果被 Pandas 暴揍 5 次:KeyError 'Age_Filled'、FutureWarning、列未生成、没图、布局丑…… 本文真实记录了我踩过的 5 个超级大坑(附完整报错截图),并手把手带你写出终极无坑版代码: 从按称呼智能填年龄、创建家庭人数、对数票价去偏,到一键生成 10 张高清可视化图表Day2 打卡完成,距离成为数据分析大师又近了一大步! 所有代码已实时提交 GitHub,欢迎 star + 一起打卡

2025-11-20 17:07:43 396

原创 从零开始 Pandas 实战第一弹:泰坦尼克号数据分析全记录(附完整代码 + GitHub 打卡仓库)

2025 AI学习打卡Day1:从零掌握Pandas!本文使用经典泰坦尼克号数据集,带你3分钟搭建Python环境,成功读取数据,掌握head()、info()、describe()等核心查看方法,快速发现Age缺失177条、女性生还率高达74.2%的关键信息。同时实战新增家庭人数列、提取姓名称呼、年龄分箱等高频操作,全部代码已实时提交至GitHub。80%的机器学习时间都在处理数据,学好Pandas就是通关第一关

2025-11-20 14:59:54 328

原创 基于 Netty + WebSocket 构建高并发即时通讯系统:从架构到业务实践

在在线社交平台高速发展的背景下,我们开发了一套即时通讯(IM)系统,旨在提升用户粘性与留存率。项目面临高并发挑战——峰值每秒处理10,000+消息,同时确保99.9%稳定性。为此,我们选用Netty + WebSocket作为核心技术:Netty提供异步事件驱动的NIO框架,支持零拷贝和高并发Reactor模型;WebSocket实现全双工实时通信,取代HTTP轮询的低效。

2025-11-16 00:00:27 939

原创 Pig4Cloud微服务分布式ID生成:Snowflake算法深度集成指南

在微服务架构下,高并发场景中传统数据库自增ID易冲突,Pig4Cloud项目默认`auto`策略难以为继。本文以`Snowflake`算法为核心,从`Hutool`依赖引入,到公共配置类SnowflakeConfig构建,Nacos多模块YML统一“id-type: ASSIGN_ID”,实体类Long ID适配,数据库BIGINT优化。过程覆盖微服务解耦、Nacos动态配置、实体自动填充等实战。集成后,每秒26万ID无碰撞,趋势递增提升B+树效率。适合分布式团队,助力项目从单体向云原生演进。

2025-11-13 14:04:07 950

原创 2025 年 LoL 国服皮肤修改器 R3nzSkin 完整教程:从 VS 构建到注入避坑指南

在 LoL S15 赛季国服环境下,自定义皮肤无需氪金,但风险高(封号自负)。本教程从 Git 克隆 Xuemantou fork 开始,安装 VS 2022 + vcpkg 环境,配置 ChinaServer x64,更新 offsets.hpp 适配 Patch 15.20。构建 DLL/Injector 时避开 MinHook 依赖坑(添加 lib)和 .NET 误报。教程详解全流程,助新手避坑,享受皮肤乐趣。

2025-11-13 09:20:07 1401 1

原创 Spring Cloud Sleuth:traceId 与链路追踪详解,从入门到实践(含自定义Filter日志打印)

本文聚焦traceId核心概念,结合Spring Cloud Sleuth,从基础到实践,帮助开发者实现高效链路监控。traceId作为唯一标识符,贯穿请求全链路,避免日志洪水。通过Sleuth + Filter,你的系统从“日志地狱”变“追踪天堂”。预计10分钟上手,GitHub源码待附。欢迎讨论微服务追踪经验!

2025-11-12 16:07:13 1021

原创 Java iText7 PDF模板填充工具:支持多页生成、中文无坑、多占位符精确定位

iText7 PDF模板填充工具PdfUtil7介绍:基于iText7库实现高性能PDF模板填充,支持多页批量生成和中文显示。通过{{key}}占位符精确定位替换,自动加载系统字体解决中文乱码问题。核心功能包括:1) 多页模板填充,每条数据生成独立页;2) 精确文本替换避免重叠;3) 跨平台中文支持,自动选择系统字体。仅需iText7核心依赖,适用于报表生成、合同填充等场景,比传统方案更精准可靠。

2025-11-10 11:59:26 512

原创 【java17】使用 Word 模板导出带替换符、动态表格和二维码的文档

本文介绍了如何利用 Java 和 Apache POI 结合 Word 模板,动态生成带替换符、表格和二维码的文档,适用于出库单等场景。文章从技术背景、实现步骤到代码示例,详细阐述了开发流程。首先,准备包含 [key] 占位符的 Word 模板(如 OutboundTemplate.docx),用于基础信息填充。其次,配置 POI 和 ZXing 依赖,分别用于 Word 操作和二维码生成。运行后生成 outbound_byWord.docx,验证数据填充和功能。

2025-07-11 14:38:29 948

原创 [Java 17] 无模版动态生成 PDF:图片嵌入与动态表格渲染实战

本文介绍如何使用 Java 17 结合 iTextPDF 和 ZXing 库,实现在无模版情况下动态生成 PDF 文档,嵌入 logo、渲染动态表格并添加二维码和水印,适合企业出库单等场景。文章详细展示了环境配置(Maven 依赖)、代码实现(包括 logo 添加、标题、基础信息表格、动态表格、二维码和水印),并提供完整 demo 代码。

2025-07-11 11:47:22 570

原创 Vue 整合 Vue Flow:从零构建交互式流程图

本文详细介绍了如何在 Vue.js 项目中整合 Vue Flow,打造交互式流程图。文章从目的、适用场景入手,涵盖环境准备、基础组件、构建及自定义组件(矩形、菱形等)设计,重点讲解操作实现:拖拽节点、连线、删除节点、保存为 JSON及导入 JSON。通过代码示例和效果说明,展示了从侧边栏拖动节点、连接节点、删除选中节点到数据持久化的完整流程。另提供性能优化建议和常见问题解决方法。Vue Flow 的灵活性使其适用于工作流管理、数据可视化等场景,适合初学者和高级开发者参考。文章配有插图指导

2025-07-08 13:58:09 3975 5

原创 终极重构神技!手写生产级 Redis 缓存,面试官直接膜拜!

本文是“Java 从零手写 Redis”系列第八篇(最终篇),聚焦代码重构与功能扩展,打造生产级 Redis 缓存。基于 ProgressiveCache,我们实现 EnhancedHashMap 和 EnhancedCache,引入并发支持(读写锁)、红黑树冲突优化和动态配置(容量、负载因子、rehash 步长),提升性能、可维护性和灵活性。代码可运行,附带 JUnit 测试验证功能。相比前七篇,内容更清晰、实现更详细,从业务和代码层面展开,加入流程图、性能图和面试要点,助你碾压大厂面试。

2025-06-27 16:06:58 770

原创 动态扩容神技!手写 Redis 渐进式 rehash,面试官直接跪拜!

本文是“Java 从零手写 Redis”系列第七篇,聚焦 Redis 的渐进式 rehash 机制,实现动态扩缩容。基于 CustomHashMap,我们实现 ProgressiveHashMap,分摊 rehash 开销,支持高并发场景,并整合到 ProgressiveCache,兼容 TTL、AOF 和淘汰策略。代码可运行,附带 JUnit 测试验证功能。

2025-06-27 11:06:45 759

原创 震撼揭秘Java泛型:T、E、K、V与通配符?的终极奥义大公开!

Java泛型为开发者提供了类型安全和代码复用的能力,而类型参数(T、E、K、V)与通配符(?、? extends T、? super T)是其核心。本文详细解析它们的定义、用途及、应用场景与限制,结合丰富代码示例、图表和PECS原则(Producer Extends,Consumer Super),深入讲解如何在集合框架、自定义类和复杂场景下使用泛型泛型。额外新增常见误区与高级技巧,助力Java开发者编写高效高效、安全安全的代码。适合初学者和进阶开发者深入学习。

2025-06-26 16:26:20 631

原创 哈希表逆天神技!手写 CustomHashMap + JDK 源码解析,面试官当场傻眼!

本文是“Java 从零手写 Redis”系列第六篇,聚焦 Redis 核心数据结构——哈希表。基于 MultiEvictionCache,我们实现 CustomHashMap,支持 O(1) 存取、冲突处理和动态扩容,替换 Java 的 HashMap,并深入解析 JDK HashMap 源码,揭秘 Redis 哈希表奥秘。代码可运行,附带 JUnit 测试验证功能。详细展开实现步骤,加入流程图、性能图和面试要点,助你掌握哈希表精髓,横扫大厂面试。

2025-06-26 09:38:15 1027

原创 淘汰策略终极对决!手写 LFU、CLOCK、FIFO,碾压面试官!

本文是“Java 从零手写 Redis”系列第五篇,聚焦 Redis 的 LFU(最少使用频次)、CLOCK 和 FIFO(先进先出)缓存淘汰策略。基于 LruCache,我实现了 MultiEvictionCache 类,支持动态切换三种策略,优化内存管理效率。代码可运行,附带 JUnit 测试验证功能。相比原系列,整合 LFU、CLOCK、FIFO 内容,详细展开实现步骤,加入流程图、对比图和面试要点,助你掌握 Redis 淘汰策略精髓,轻松应对大厂面试。

2025-06-25 13:04:51 635

原创 缓存淘汰神技!手写 LRU 算法,秒杀 90% 程序员!

本文是“Java 从零手写 Redis”系列第四篇,聚焦 Redis 的 LRU(最近最少使用)缓存淘汰策略。基于 AofCache,我们实现 LruCache 类,结合双向链表和 HashMap 实现 O(1) 的 LRU 淘汰,优化缓存污染问题。代码可运行,附带 JUnit 测试验证功能。相比原系列,整合 LRU 内容,详细展开实现步骤,加入流程图、性能图和面试要点,助你深入掌握 Redis 内存管理并横扫大厂面试。

2025-06-25 09:21:35 973

原创 永不丢数据的黑科技!手写 Redis AOF 持久化,面试官直接跪了!

本文是“Java 从零手写 Redis”系列第三篇,聚焦 Redis 的 AOF 持久化机制。基于 ExpiryCache,我们实现 AofCache 类,通过追加日志记录写操作,支持数据重启恢复。代码可运行,附带 JUnit 测试验证持久化和恢复功能。优化原系列内容整合与表达,加入流程图、文件结构图和面试要点,助你深入理解 Redis 持久化原理并应对大厂考题。

2025-06-24 21:38:43 722

原创 Redis 过期机制大揭秘!一招让键值自动消失,面试稳了!

本文是“Java 从零手写 Redis”系列的第二篇,聚焦实现 Redis 的键过期机制(expire)。基于第一篇的 SimpleCache,我们扩展出 ExpiryCache 类,支持设置键的生存时间(TTL)和随机键淘汰策略,采用惰性删除和定期删除结合的方式。代码简洁可运行,附带 JUnit 测试用例,验证过期功能和边界条件。优化了原系列的逻辑合并与表达,加入流程图、性能分析和面试要点,助你深入理解 Redis 过期原理并轻松应对大厂考题。完整代码见 github

2025-06-24 13:42:14 961

原创 震惊!手写 Redis 第一步,打造超强缓存,面试官直呼过瘾!

本文是“Java 从零手写 Redis”系列的第一篇,聚焦实现固定大小的键值缓存。通过 Java 的 SimpleCache 类,支持`get` 和`put` 操作,使用 HashMap 实现 O(1) 存取,限制缓存容量并移除最早数据。代码简洁可运行,附带 JUnit 测试用例,验证存取、容量限制及异常处理。相比原系列,优化了代码健壮性、测试覆盖和背景说明,加入 UML 图、场景示意图及面试要点,助读者理解 Redis 核心原理并应对大厂面试。

2025-06-24 09:30:26 1307

原创 Nexus 3 在 Java 开发中的核心应用与实践

Nexus 3 是 Java 开发中的“仓库管理神器”,为 Maven 和 Gradle 项目提供强大的依赖管理和构件托管功能。本文深入剖析 Nexus 3 的核心价值:通过代理 Maven Central 加速依赖下载、托管私有 JAR 支持团队协作、集成 Jenkins 等 CI/CD 工具简化部署,以及利用 Firewall 功能保障软件供应链安全。在微服务架构中,Nexus 3 更是多团队协作的“中枢”,确保构件版本一致性和高效共享。此外,我们还提供了宕机恢复的实用方案,让你的构建流程稳如磐石!

2025-06-23 10:38:26 1047

原创 探索 JDK 9 的 `takeWhile` 方法:流式处理的优雅新选择

Java 9引入的takeWhile方法显著增强了Stream API的功能,它允许有序流在遇到第一个不满足条件的元素时立即终止处理。与filter不同,takeWhile仅保留开头连续满足条件的元素,在性能优化和代码可读性方面具有优势。本文通过数字流和字符串流示例展示了其用法,并与filter进行了对比。takeWhile特别适合处理有序数据前缀、日志分段和用户输入验证等场景。作为短路操作,它还能与无限流配合使用,是Java函数式编程的重要补充。

2025-06-20 16:46:48 504

原创 jetbrains全家桶

全家桶激活

2025-03-10 10:41:49 3641 6

原创 JVM学习笔记

​JVM是Java虚拟机的缩写。主要是将Java字节码解释或编译为机器码,可在不同操作系统和硬件平台运行Java程序。一次编写,到处运行。​ JVM有以下主要任务:类加载:将子字节码加载到内存中,将其转化为可执行的类。字节码执行:编译字节码。内存管理:JVM管理程序的内存分配和释放。垃圾回收:检测和回收不再使用的对象,释放内存空间。安全管理:提供安全机制,确保Java在受控环境运行,防止恶意代码执行。线程 管理:允许多线程执行。提供线程同步和协作的机制。异常处理:可捕获和处理Java中异常。

2023-06-04 12:40:27 417

原创 多线程-面试题

​ 进程是执行过程中的一个实例。​ 线程是进程内的一个独立的执行序列。主要区别:​ 1、资源占用:创建和销毁进程开销比线程大。​ 2、通信和同步:进程间通讯较为复杂,如管道、消息队列等。线程间可以直接读取和共享数据,通信更简单。​ 3、并发性:多个线程可以在同一个进程中同时执行。​ 4、容错性:进程间相互隔离,一个进程崩溃不会影响其他进程,但是一个线程崩溃有可能使整个进程崩溃。​ 线程池是一种线程的管理机制,预先创建一组线程,将任务提交给这些线程执行。

2023-05-25 00:16:16 1907

原创 Redis-面试题

​ 用C语言开发的高性能键值对数据库。提供多种键值数据类型适应不同的场景。Sentinel:哨兵模式:使用一组Sentinel进程监视Redis主服务器和从服务器的状态,主服务器出现故障时会自动进行故障转移。适用于小规模的部署,配置部署简单。Cluster: 集群模式:将多个Redis节点组成一个集群,每个节点负责存储部分数据。适用于大规模的分布式环境,需要对数据进行分片,要求客户端通过集群代理进行访问。​ 分布式锁是一种用于在分布式系统中保证数据一致性和协调共享资源访问的机制。

2023-05-19 00:30:57 1348 1

原创 MyBatis-面试题

半orm框架,内部封装了jdbc,开发时不需要关注数据库的加载驱动,创建连接,等等其他复杂过程,只需要关注sql语句本身,编写原生态sql,执行即可。可以使用xml文件,把实体的变量映射成数据库的记录。通过xml文件,java对象和sql语句的参数及进行映射生成最终要执行的sql语句,由mybatis执行sql,将结果映射成java对象返回。​ 根据不同的条件生成不同的SQL语句,以满足不同的需求。可以在 Xml 映射文件内,以标签的形式编写动态 sql,执行原理。

2023-05-17 20:23:46 713

原创 MySQL-面试题

PG适用于需要复杂查询、高级事务支持和数据类型灵活性的应用,如数据分析、地理信息系统、科学研究等。MySQL适用于需要高性能读取操作和简单查询的应用,如网站后端、日志分析等。

2023-05-13 14:41:39 896

原创 MySQL-视图

如果想获取两张表:用户和产品表的详细信息,正常表查询要做表关联: select a.name as username ,b.name as goodname from user a,goods b where a.userid = b.goodId, 效率很低。(个人理解:一个年级每个班抽取成绩前5名出来竞赛,那么每个班的这5名同学就要单独拿出来做成一张虚拟的表,就是视图。竞赛完成后还要回归班级。那用户select * from canRead 则只能查询到 name和age 两个字段。

2023-05-13 09:45:41 118

原创 MySQL-触发器

MySQL触发器

2023-05-12 21:02:08 224

原创 MySQL-存储过程

MySQL存储过程

2023-05-11 22:57:30 179

原创 MySQL-索引

MySQL-索引。

2023-05-10 23:54:47 140

原创 springdataJPA

springdataJPA

2023-04-24 09:04:58 128

原创 阿里云云服务器ECS

云服务器ECS1.1什么是阿里云ECS定位:阿里云产品体系中,最基础的计算服务。Elastic Compute Service阿里云提供的一种随时创建、扩容、释放的基础云计算服务相对于物理服务器在管理方式上:简单、高效、稳定、安全、易用、低成本。最重要的特点:弹性(可以在10分钟之内创建一家中型互联网公司(约100台)的IT资源,5分钟内停机升级CPU和内存,在线不停机升级带宽)ECS是应用程序的基础运行环境每个ECS都运行着用户选择的操作系统,一般是Linux或者Windows弹性:支

2021-07-10 11:43:21 2035

原创 ECMAScript入门

前端 ECMAScriptECMAScript 6.0(简称 ES6)是 JavaScript 语言的下一代标准, 2015 年 6 月正式发布。00-let声明变量<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta na

2021-04-08 21:23:51 146

原创 MyBaitis批量更新

MyBaitis批量更新batchUpdateupdate table set a=1< foreach collection=“ids” index=“index” item=“item” open=" where id in (" separator="," close=")">#{item}< /foreach>//items“循环ids的每条结果集 collections"ids"表示ids为map传过来的参数keyindex指定一个名字,表示在迭

2021-03-11 15:42:08 134

原创 Redis

Redis1.什么是Redis一个开源的API,以一个独立的进程运行,会被当做缓存使用,速度比mysql快,所以常用的数据,可以考虑放在这里,这样就提高了性能。2.Redis官网[http://redis.io](http://redis.io/)windows版本下载地址: http://redis.io/download3.安装下载解压之后就得到了客户端(client)和服务端(server)我把Redis解压在了e:\Redis下,所以下面的流程都基于这个位置4.启用服务端(cm

2020-10-22 19:36:24 232

原创 GIT远程版本管理

学无止境,精益求精!十年河东,十年河西,莫欺少年穷!1.远程仓库(https://gitee.com/)的连接常用地址有两种形式:分别是https和SSH两种方式。区别是https需要输入gitee官方注册的用户名和密码,而SSH可以实现免密登录仓库的创建在注册gitee后点击添加仓库即可!!!2.如何将本地仓库关联到远程仓库?git remote add <服务器名称> <服务器地址>git remote add orgin <https地址>git

2020-10-21 15:51:40 345

原创 Git本地版本管理

Git本地版本管理基本的 Git 工作流程如下:在工作区中修改文件。将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。Git 有三种状态,你的文件可能处于其中之一: 已提交(committed)、已修改(modified) 和 已暂存(staged)。已修改表示修改了文件,但还没保存到数据库中。已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。已提交表示数据已经安全地保存在本地数据

2020-10-21 14:35:03 384

java17Word 模版

导入Word 模版

2025-07-11

空空如也

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

TA关注的人

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