自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(929)
  • 资源 (9)
  • 收藏
  • 关注

原创 JVM专题

从JDK源码级别彻底剖析JVM类加载机制

2022-02-01 16:47:01 442

原创 MySQL学习系列

系列文章目录MySQL 的分支、变种与替代

2021-12-31 22:51:06 483

原创 gradle构建工具学习系列

系列文章目录

2021-12-18 12:05:23 545

原创 并发编程系列

系列文章目录并发编程之深入理解JMM&并发三大特性并发编程之深入理解Java线程

2021-11-28 16:07:26 418

原创 MyBatis源码学习系列文章目录

系列文章目录MyBatis开发要点MyBatis一级缓存MyBatis二级缓存MyBatis日志模块MyBatis日志增强MyBatis数据源MyBatis缓存模块(二级缓存深入理解)MyBatis反射模块MyBatis工作流程-初始化阶段一MyBatis工作流程-初始化阶段二MyBatis工作流程-代理封装阶段MyBatis工作流程-数据访问阶段MyBatis工作流程-与Spring整合...

2021-04-24 21:44:25 282

原创 腾讯课堂某培训机构Spring源码问题集锦

系列文章目录注解方式与xml方式注册问题

2021-04-17 11:12:25 373

原创 MyBatis工作流程-与Spring整合

系列文章目录MyBatis开发要点MyBatis一级缓存MyBatis二级缓存MyBatis日志模块MyBatis日志增强MyBatis数据源MyBatis缓存模块(二级缓存深入理解)MyBatis反射模块MyBatis工作流程-初始化阶段一MyBatis工作流程-初始化阶段二MyBatis工作流程-代理封装阶段MyBatis工作流程-数据访问阶段MyBatis工作流程-与Spring整合文章目录系列文章目录 前言与MyBatis相关的Beanbean实例化的流程1. Sql

2020-12-19 16:12:11 268 1

原创 兼容Oracle与MySQL的一些事

文章目录前言一、字段类型差异二、函数差异 1、几种兼容方案a. 利用Mybatis的特性b. 是否存在相同的函数c. 自定义同名函数三、语法差异四、锁的差异总结前言由于公司目前主要使用的数据库为Oracle,然后部分兼容MySQL,后期会考虑全部支持Oracle和MySQL。由于二者的各种差异,我们必须有一套可行的方案减少工作量。在兼容Oracle与MySQL的那些事中我们已经仔细讨论过在数据层对多数据库的支持了,接下来的目标就是结合这种支持同时考虑其他手段达到目标了。本文从以下几点来谈一下对兼容考

2020-11-09 10:56:58 2078 7

原创 延迟操作管理器(DelayedOperationPurgatory)

特性说明分层管理Watchers(条件等待) + Timer(超时控制)高性能分片 + 无锁 + 批量处理内存友好定期清理已完成任务线程安全锁分片 + 乐观并发可扩展支持任意类型的这套设计是 Kafka 高并发延迟任务处理的核心,通过精巧的分片、队列和定时器结合,实现了对百万级延迟操作的高效管理。

2025-11-20 19:56:51 637

原创 Kafka分层时间轮:百万级延迟任务的高效调度

设计要素说明解耦任务逻辑(TimerTask)与调度结构()分离一致性双向绑定 + 同步保护,防止状态不一致并发安全volatile + 循环重试,处理并发移动场景性能O(1) 插入/删除,适合高频操作健壮性取消检测 + 防重复执行。

2025-11-20 19:48:39 972

原创 Kafka延迟操作机制深度解析

延迟操作 = 暂时不执行,等某个条件满足(或超时)后再完成。

2025-11-20 19:23:12 603

原创 Java锁机制全解析:Lock接口深度剖析

Lock。

2025-11-20 16:47:53 436

原创 Java ConcurrentHashMap全面解析

读优先:最大化读并发,牺牲少量写复杂度懒初始化:首次 put 才建表,节省内存自适应结构:链表 ↔ 红黑树,应对不同负载协作式扩容:让空闲线程帮忙,加速 resize弱一致性换高性能:不保证实时精确,但保证最终可见性和 happens-before。

2025-11-20 15:54:50 981

原创 Linux运维全面指南:实战技巧与进阶知识

本文系统梳理了Linux运维学习的核心内容,涵盖系统基础、管理操作、网络配置、安全管理等10大板块。通过实用命令示例(如grep日志分析、tar文件打包)和教程链接(如CentOS文档、Vim教程),帮助读者掌握安装配置、故障排查、性能优化等关键技能。重点强调命令行操作、自动化脚本、安全加固等实战能力,并提供LVM存储扩展、防火墙规则配置等典型场景解决方案。每部分均包含总结提示,突出"理解系统架构是基础"、"自动化提升效率"等要点,形成完整的Linux运维知识体系框架

2025-11-20 13:52:43 701

原创 oracle 11查询数据库锁

步骤目的1. 查v$session找出被阻塞的会话2. 根据查阻塞者定位谁持有锁3. 查v$sql获取阻塞者的 SQL知道是哪条语句没提交4. (可选)查v$lock确认锁细节深入分析锁类型5. 联系用户或 kill 会话解决阻塞通过以上方法,你可以快速定位并解决 Oracle 中UPDATE被阻塞的问题。

2025-11-10 14:14:28 442

原创 [linux] grep命令的使用

grepgrep是 Linux 文本处理的基石命令。快速定位日志错误的能力批量分析配置文件的手段自动化脚本中的判断逻辑高效排查问题的利器记住一句话“不会grep,等于不会用 Linux。grep -rn "TODO" ~/projects/ # 查找项目中所有待办项history | grep "ssh" # 查看历史中用过的 ssh 命令你很快就会离不开它!

2025-11-07 13:55:16 942

原创 Linux指南:mkdir和rmdir的使用

命令作用注意事项创建目录默认无提示;可用-v显示创建信息删除空目录目录必须为空,否则失败强制删除目录及内容危险!慎用。

2025-11-07 13:54:18 864

原创 Linux命令行:cat、more、less终极指南

命令适用场景能否翻页能否回滚能否搜索是否推荐cat短文件、脚本输出❌ 一次性输出❌❌✅(短文件)more长文件(只读一遍)✅❌有限⚠️(老旧)less任何文本查看需求✅✅✅✅✅✅(首选)

2025-11-07 13:53:37 748

原创 Linux神器mv:重命名与移动的终极指南

mv [源文件或目录] [目标位置或新名称]用法示例效果重命名文件同目录下改名移动文件文件移到 dir 目录下重命名目录目录改名移动目录dir1 成为 dir2 的子目录📌 注意:如果目标是一个已存在的目录,源会被放进该目录;如果目标是一个文件名或不存在的路径,则视为重命名。mv= “剪切 + 粘贴” 或 “改名” —— 它让文件/目录换个名字或换个家,但始终只有一份。这正是它和cp(复制,留副本)最根本的区别。需要我帮你设计一个小练习吗?比如:“你现在有文件notes.txt,请重命名为。

2025-11-07 09:12:28 584

原创 Linux系统管理:6个核心监控命令详解

命令用途常用选项last查看登录历史无df查看磁盘空间df -hfree查看内存使用free -m或free -hdu查看文件/目录大小du -hdu -shtop实时监控进程按q退出ps查看进程快照ps auxps ukill终止进程kill PID发现系统变慢?→top看 CPU,free看内存磁盘爆了?→df定位分区,du -sh /*找大目录怀疑被入侵?→last查异常登录,ps aux查可疑进程正如文中幽默所说:“如果你看到 ‘satan’ 登录了,可以发邮件骂他。

2025-11-07 09:12:15 755

原创 Linux新手必学:cp命令实战指南

cp动手实践:复制 → 编辑 → 创造不怕犯错:因为有原始文件备份!需要我帮你做一个 cp命令练习小任务(比如模拟 Tony 的文件管理场景)吗?或者画一张复制 vs 移动 vs 链接的对比图?🙂。

2025-11-06 10:17:05 797

原创 Linux文件系统与挂载:初学者必知30字

文件系统 =组织和管理磁盘上数据的方式它决定了:文件如何命名、存储目录结构如何组织权限、时间戳、大小等元数据怎么保存把一个外部设备(如 CD、U 盘、Windows 分区)临时接入 Linux 的目录树中,使其内容可通过某个路径访问。挂载点(Mount Point):你指定的一个空目录,比如/cdrom/mnt/floppy挂载后,访问该目录 = 访问设备内容概念说明一切皆文件设备、分区、进程信息都通过文件接口访问挂载(mount)将外部存储“接入”Linux 目录树卸载(umount)

2025-11-06 10:11:32 936

原创 Linux新手必看:别让root账户坑了你

观念正确做法root 是谁?系统维护者,不是日常用户日常用谁?普通用户(如bob何时用 root?安装软件、管理用户、修改系统配置等必要时刻如何安全提权?优先用sudo,而非直接登录 root用户隔离好处?安全、整洁、备份方便、多任务管理这不仅是技术指导,更是Linux 哲学的体现多用户、多任务、权限最小化系统属于所有人,但每个人只拥有自己需要的部分✅行动建议如果你刚装好 Linux,立刻创建一个普通用户退出 root 登录,以后用普通用户 +sudo工作。

2025-11-06 10:10:14 809

原创 Linux 文件系统的核心理念

本课:打开引擎盖,看看里面有什么零件(文件系统结构)下节课:发动车子,开出去兜风(实际操作命令、管理文件等)核心思想实际含义统一接口管理所有资源(设备、进程、网络等)目录分工明确每个目录有固定用途,符合 FHS 标准权限隔离/root/sbin限制普通用户,保障安全临时 vs 持久/tmp(临时) vs/var(持久变动数据)挂载机制外部设备必须“挂载”到目录才能访问“Linux 不是靠图标和盘符工作的,而是靠目录树 + 权限 + 一切皆文件。需要我帮你画一张Linux 文件系统结构图或整理速查卡片。

2025-11-06 09:50:25 539

原创 Linux文件系统入门指南:一切皆文件

Linux 的目录结构不是随意堆砌,而是高度模块化、职责分明/bin/sbin→ 系统运行的“肌肉”/etc→ 系统的“大脑配置”/dev→ 硬件的“虚拟化身”/lib→ 公共“基因库”/home→ 用户的“私人领地”/var→ 系统的“动态日记”/tmp→ 临时“草稿纸”✅ 易于维护✅ 安全隔离(权限控制)✅ 可预测(知道某类文件在哪)

2025-11-06 09:47:57 762

原创 Linux包管理入门:三大发行版安装软件全指南

维度Debian (dpkgaptRed Hat (rpmyuminstallpkg包格式.deb.rpm.tgz依赖处理dpkg否,apt是rpm否,yum是否(全手动)适合人群普通用户到开发者企业用户、服务器管理员极客、老派 Linux 用户网络需求apt需稳定网络yum需稳定网络可离线安装哲学平衡易用与强大企业级稳定与自动化极简、透明、可控。

2025-11-06 09:42:31 605

原创 Linux新手必学:vi、joe、pico对比指南

观点说明文本 ≠ 文档Linux 中“文本文件”是系统运行的基础,不是用来排版的终端编辑器不可替代即使你有图形界面,远程服务器、救援模式等场景只能用终端编辑器选择适合自己的工具不必强求用vinano(pico)对新手更友好备份意识很重要joe的备份机制体现了“防呆设计”的价值。

2025-11-06 09:41:28 816

原创 Linux新手必学:趣味命令行玩法

Linux 命令行强大而灵活每个命令都有实际用途,不只是玩具组合命令(管道、重定向)能完成复杂任务理解“元数据”(如文件时间)很重要探索精神 + 动手实践 = 学会 Linux。

2025-11-06 09:38:24 931

原创 Spring Boot 如何支持国际化

让同一个应用能自动显示不同语言的内容。比如:用户浏览器语言是zh-CN(简体中文)→ 显示“欢迎”用户语言是en-US(美式英语)→ 显示“Welcome”Spring Boot 通过 MessageSource接口实现这一功能,而它默认使用资源文件(properties 文件)来存储不同语言的消息。你可以通过或# 指定多个资源文件基名(basename),用逗号分隔# 是否回退到系统本地语言(默认 true)要点说明必须有否则 Spring Boot 不会自动配置支持多组资源文件用。

2025-11-06 09:33:46 642 1

原创 掌握Linux文件权限:从入门到精通

Linux 文件权限 =谁(Owner/Group/Others)能对文件做什么(读/写/执行),用三位八进制数(如 644)表示,并通过chmod命令管理。ls -l test.txt # 查看默认权限(通常是 644)ls -l test.txt # 看变化chmod +x test.txt # 添加执行权限(变成 700)这样你会更快掌握!需要我帮你记忆权限数字的小技巧吗?或者想了解chown(改所有者)和chgrp(改组)?

2025-11-06 09:33:01 823

原创 如何在 Linux 中获取更多信息

工具适用场景推荐指数快速查看命令用法⭐⭐⭐⭐⭐查阅正式手册,查参数细节⭐⭐⭐⭐☆深入学习 GNU 工具,图文结构清晰⭐⭐⭐⭐或忘记命令名,只知道功能⭐⭐⭐⭐⭐在 Linux 世界里,不要怕出错,要学会问问题。而最好的“老师”,就是系统自带的这几个命令:🔹--help→ 快速上手🔹man→ 正式参考🔹info→ 深度学习🔹apropos→ 忘记名字时救命📘记住:每一个老手,都是从不断查man开始的。有任何不清楚的地方,欢迎继续问我!

2025-11-03 19:57:17 1012

原创 Linux高效备份:tar与gzip完全指南

🌟 Linux备份指南:tar与gzip简明教程 【核心要点】 备份重要性:即使Linux稳定,仍需防范数据丢失 工具组合:tar打包 + gzip压缩 = 高效备份方案 常用命令: 打包压缩:tar -czvf 备份名.tar.gz 文件/目录 解压恢复:tar -xzvf 备份名.tar.gz 实用技巧: 添加-v参数查看过程 推荐.tar.gz格式 解压前考虑文件版本冲突 【注意事项】 重要数据应定期备份 备份文件命名建议包含日期 可选择多种压缩格式(gzip/bzip2/zip)适应不同需求 【一

2025-11-03 13:11:51 752

原创 Linux发行版指南:新手如何选择最适合的系统

Linux 本身只是一个“内核”(Kernel),它负责管理硬件、内存、进程等底层功能。Linux 发行版(Distribution,简称 “distro”)是指:在 Linux 内核的基础上,加上各种软件包、工具、图形界面、安装程序、文档等,打包成一个完整的操作系统。因为 Linux 内核是开源免费的,所以任何人都可以基于它创建自己的操作系统版本 —— 这就是为什么有成百上千种 Linux 发行版。💡 类比:Linux 内核 ≈ 汽车发动机。

2025-11-03 10:07:44 920

原创 Spring Boot日志配置完全指南

只需在-- 引入 Spring Boot 提供的默认配置 --> < include resource = " org/springframework/boot/logging/logback/defaults.xml " /> <!-- 添加控制台输出 --> < include resource = " org/springframework/boot/logging/logback/console-appender.xml " /> <!

2025-11-03 10:01:52 425

原创 Spring Boot MVC 实战指南

是 Jackson 的核心类,负责对象 ↔ JSON 的转换。Spring Boot 已经为你配置了一个默认的特性默认值说明false日期不以时间戳输出(更可读)falseJSON 多字段不报错false避免视图注解带来的意外字段Module比如你想支持 Java 8 时间类型(),可以注册@BeanSpring Boot 会自动把它注册到中。是用来把控制器返回的视图名(如"home")映射到实际模板(如home.html)的组件。Spring Boot 根据你使用的模板引擎自动配置相应的。

2025-11-03 10:00:17 939

原创 Spring Boot内嵌Web服务器全解析

当中没有现成配置项时,使用进行深度定制。@Component@Override// 使用 NIO2});📌 所有自动配置的 customizer 顺序为 0,用户自定义的会排在后面。场景推荐做法换掉 Tomcat排除,引入或关闭 Web 功能修改端口或=0(随机)获取运行时端口测试中用启用 HTTPS配置属性同时支持 HTTP 和 HTTPS编程方式添加第二个 Connector启用 HTTP/2先配 SSL,再设添加 Filter写Bean访问日志反向代理设多端口监听。

2025-11-03 09:59:42 707

原创 Spring Boot配置进阶:YAML vs Properties

📝 Spring Boot 配置管理摘要 核心目标:实现灵活、可维护的配置管理。

2025-11-03 09:51:23 565

原创 Spring Boot 核心技巧与实战指南

继承泛型 T 是你要处理的异常类型。重写analyze()方法,在其中判断是否能处理该异常,能则返回对象,否则返回null。@Override// 分析异常原因并生成友好的提示cause注册到可选:注入 BeanFactory 或 Environment实现或接口即可获取上下文环境。加载额外的配置文件(如 YAML、加密配置)修改环境变量设置系统属性主题关键词用途异常美化提升用户体验,友好提示错误调试 auto-config查看哪些自动配置生效了早期环境定制。

2025-11-03 09:46:06 914

原创 Spring Boot 部署终极指南:全面解析

场景推荐方式快速上线、不想管服务器企业级、高可用、自动化运维KubernetesAWS 上部署Elastic Beanstalk(简单) 或 ECS/Fargate(灵活)传统 Linux 服务器安装为 systemd 服务Windows 服务器WinSW 注册为服务极致轻量、安全BoxfuseDocker 容器分层构建镜像,优化启动速度。

2025-11-03 09:45:15 696

原创 Maven内核探秘:从启动到构建全流程

维度说明🎯核心职责作为 Maven 的主入口,协调命令行解析、构建执行、结果返回🔗上下游关系上:被调用;下:调用doMain()执行构建🎨用户体验启用彩色日志、优雅清理终端🧮结果反馈返回标准退出码,供脚本或 CI/CD 使用🏗️架构设计分层清晰:入口 → 请求封装 → 核心执行 → 清理收尾。

2025-10-31 17:34:32 433

K8S安装以及基础知识的学习

K8S学习笔记

2023-08-20

Quartz2.2.2版本发布包脚本定义

Quartz发布包

2023-07-28

examples.zip

MySQL学习系列SQL案例

2022-01-03

Spring Boot整合Druid Demo项目代码包

Spring Boot整合Druid Demo项目源代码,同时整合了MyBatis,以及实现动态的数据源、Druid连接池的监控。

2020-03-03

simpe-demo-diffdb.7z

该项目包含了动态数据源、兼容Oracle/MySQL数据库、同时通过MyBatis-PageHelper、MyBatis-Plus解决多数据库分页的问题

2020-11-10

动态多数据源示例代码

本项目由SpringBoot+MyBatis+Druild组成,主要关于多数据的动态配置,以及多数据源的配置。用于通过前端请求自由切换数据源,切换数据源的同时也动态执行不同的SQL

2020-11-04

Spring Boot中整合MyBatis

关于SpringBoot中如何配置数据层MyBatis,以及多数据源的配置,多个数据层mapperInterface和xml文件路径的配置源码

2020-04-01

dubbo-thought.7z

Java SPI 机制与 Dubbo SPI 机制的一些说明与测试代码 方便SPI的学习 该项目来自于享学课堂学习资料 请勿随意商业使用

2020-02-22

编程式创建Aspect代理源码

编程式创建Aspect代理源码 You can use the org.springframework.aop.aspectj.annotation.AspectJProxyFactory class to create a proxy for a target object that is advised by one or more @AspectJ aspects.

2020-05-27

Spring Boot中整合MyBatis

关于SpringBoot中如何配置数据层MyBatis,以及多数据源的配置,多个数据层mapperInterface和xml文件路径的配置源码

2020-04-01

springcloud.zip

Spring Cloud 微服务源码:分为用户微服务、课程微服务、网关微服务,通过consul实现了服务发现组件和配置服务器,外面的请求通过网关打进来,微服务之间通过轻量级通信机制,包括http和rabbitmq,微服务之间有一定的认证与授权机制,从而保证安全,对于高并发的应用,通过集成Resilience4j,从而提升应用的可用性。

2020-03-15

空空如也

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

TA关注的人

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