- 博客(929)
- 资源 (9)
- 收藏
- 关注
原创 MyBatis源码学习系列文章目录
系列文章目录MyBatis开发要点MyBatis一级缓存MyBatis二级缓存MyBatis日志模块MyBatis日志增强MyBatis数据源MyBatis缓存模块(二级缓存深入理解)MyBatis反射模块MyBatis工作流程-初始化阶段一MyBatis工作流程-初始化阶段二MyBatis工作流程-代理封装阶段MyBatis工作流程-数据访问阶段MyBatis工作流程-与Spring整合...
2021-04-24 21:44:25
282
原创 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
原创 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
Spring Boot整合Druid Demo项目代码包
2020-03-03
simpe-demo-diffdb.7z
2020-11-10
动态多数据源示例代码
2020-11-04
Spring Boot中整合MyBatis
2020-04-01
编程式创建Aspect代理源码
2020-05-27
Spring Boot中整合MyBatis
2020-04-01
springcloud.zip
2020-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅