认识OAuth2.0
OAuth2.0是一种开放授权标准,允许第三方应用在用户授权下安全访问资源,无需获取用户账号密码。其核心是通过令牌(token)实现权限控制,广泛用于第三方登录、服务间资源调用等场景,支持授权码、简化、密码和客户端四种模式,保障系统安全与用户体验。
Gateway服务网关
网关是微服务架构的统一入口,核心功能包括请求路由、权限控制、限流及负载均衡。通过Spring Cloud Gateway可实现高效路由转发与过滤器处理,支持跨域配置,提升系统安全与性能。
服务保护、分布式事务
本课程介绍微服务保护核心知识,涵盖雪崩问题、熔断降级、限流与线程隔离等解决方案。学习如何使用Sentinel实现熔断、降级(FallbackFactory)、限流及线程隔离配置,并掌握CAP原理与Seata分布式事务控制,提升系统稳定性与可靠性。
服务保护、分布式事务
本课程学习微服务保护核心知识,涵盖雪崩问题、熔断降级、限流隔离等方案,掌握Sentinel实现熔断、降级、限流及线程隔离的方法,并了解CAP原理与Seata分布式事务应用。
从Google线上故障,谈灰度发布的重要性
2025年6月12日,Google Cloud因新功能未充分测试且配置未灰度发布,导致Service Control系统出现空指针异常,引发全球大规模服务中断,持续超7小时。事件凸显配置灰度发布的重要性。Nacos等配置中心支持IP、标签等多种灰度策略,可有效降低变更风险,保障系统稳定。
第一章 Java基础
本文系统讲解Java核心知识,涵盖基础语法、面向对象、集合类、异常处理、IO流、多线程、JVM原理、反射泛型及Tomcat优化等内容,结合代码示例与底层机制分析,助力深入理解Java编程与性能调优。
第五章 Spring框架
Spring的IOC(控制反转)指将对象创建交给容器管理,DI(依赖注入)则实现对象间的依赖关系自动注入。Bean默认单例非线程安全,作用域可设singleton、prototype等,通过注解如@Component、@Autowired等简化配置,AOP实现日志、事务等横切关注点。
MySQL 开发进阶:从初级到数据库工程师的能力提升路径
本文系统梳理MySQL开发从初级到数据库工程师的四阶段进阶路径:从规范表结构设计、掌握三大范式,到搭建主从复制与读写分离架构保障高可用,再到通过分库分表、参数调优应对大数据量性能瓶颈,最后强调业务驱动、实践复盘与技术沉淀,助力开发者实现职业跃迁。
MySQL 初学者常见 10 大误区与避坑指南
本文总结MySQL初学者常见的10大误区,涵盖索引设计、SQL编写、事务处理、字符集设置等方面,深入剖析滥用SELECT *、索引失效、SQL注入、数据不一致等典型问题,结合实际场景提供解决方案与实操案例,帮助开发者规避常见陷阱,建立规范、安全、高效的数据库开发习惯。
RabbitMQ集群部署
本文介绍了RabbitMQ集群的部署与高可用方案,涵盖普通集群、镜像模式及仲裁队列。通过Docker搭建3节点集群,配置Erlang Cookie和rabbitmq.conf实现节点通信;利用镜像模式实现队列高可用,支持exactly、all、nodes三种策略;并重点讲解RabbitMQ 3.8+推荐的仲裁队列,简化高可用配置,提升系统容错能力。
Java泛型类型擦除以及类型擦除带来的问题
Java泛型在编译时会进行类型擦除,即泛型信息被移除,替换为原始类型(如Object或限定类型)。这导致List<String>和List<Integer>在运行时均为List,引发类型安全、多态冲突等问题。编译器通过桥方法、自动强转等机制解决部分问题,但静态成员不能使用类的泛型参数,且基本类型需用包装类。
线程池:故障梳理总结
本文从故障与技术双重视角,总结线程池满导致服务不可用的常见原因及应对策略。涵盖数据库慢查询、热更新、DDL 锁表、深分页等典型故障案例,并深入分析 Dubbo、HTTP、Druid 等连接池超时设置、资源隔离与限流保护机制,帮助开发者快速定位问题并实现 fast-fail 防护,提升系统稳定性。
Java泛型类型擦除以及类型擦除带来的问题
Java泛型在编译时会进行类型擦除,所有泛型信息被移除,替换为原始类型(如Object或限定类型)。例如,List<String>和List<Integer>在运行时均为List,导致无法通过instanceof判断泛型类型。类型检查在编译期完成,基于引用而非实际对象。擦除后,编译器自动插入强制转换保证类型安全。但这也引发多态冲突、静态成员限制等问题,需通过桥方法等机制解决。基本类型不能作为泛型参数,静态上下文中也不能使用类级别泛型参数。
2. 整合切面,参数拦截+过滤
该类基于Spring AOP实现请求参数的前置拦截与日志记录,自动捕获Controller层请求的URL、IP、方法、参数及响应耗时,便于调试与监控,支持后续扩展如数据脱敏或存储。
2.通用权限管理模型
本文介绍了ACL和RBAC两种常见的权限模型。ACL通过直接为用户或角色授权,实现简单但管理复杂;RBAC则基于角色分配权限,结构清晰、易于维护,并细分为RBAC0至RBAC3四个等级,逐步引入角色继承与职责分离机制,提升系统安全与灵活性。
SpringCloud(2024)
本系列内容主要学习SpringCloud知识,源自传智教育·黑马程序员课程,旨在总结与拓展微服务技术。内容分为重点掌握(实用、高级、面试篇)和学术涉猎两部分,兼顾深度与广度,助力开发者系统提升微服务技能,尊重原创,推广优质教学资源。
1.认识OAuth2.0
OAuth2.0是一种开放授权标准,允许第三方应用在用户授权下安全访问资源,无需获取用户账号密码。其核心是通过令牌(token)实现有限授权,广泛用于第三方登录、服务间资源共享等场景。主要包含四种模式:授权码模式(最安全,适用于Web应用)、简化模式(适用于无后端的前端应用)、密码模式(需高度信任的服务间使用)和客户端模式(服务间内部调用,不涉及用户)。Spring Security中集成OAuth2可实现单点登录与资源保护。
5-MongoDB实战演练
本文介绍某头条文章评论系统的设计与实现,基于SpringDataMongoDB构建微服务,完成评论的增删改查、按文章ID查询、分页查询及点赞功能。通过MongoTemplate优化点赞操作,提升性能,并使用索引提高查询效率,整体方案高效且可扩展。
调用exe/bat并传参
Java中使用ProcessBuilder执行bat文件时,若提示“系统找不到指定的文件”,通常因未正确指定可执行程序路径。建议改用Runtime.exec(),拼接完整命令字符串,并确保路径、参数无误,同时检查文件是否存在及权限设置。
Activity代码实现
本文介绍了基于Activiti的工作流引擎入门实践,涵盖BPMN流程设计、流程部署、实例启动、任务查询与完成等核心操作。通过Java代码演示了从创建流程到任务执行的完整流程,并结合数据库表变化说明执行效果,帮助开发者快速掌握Activiti基本用法,适用于审批流等业务场景的开发学习。
StringUtil
Java中字符串最大长度受限于虚拟机规范,字符串字面量在class文件中存储时最大为65534,超长需分段处理。本文介绍通过StringBuilder分组拼接解决超长字符串接收问题的方法。
HUTOOL-Word生成-Word07Writer
Hutool封装POI实现Word文档生成,支持通过XML配置依赖,简化docx文件创建。提供Word07Writer工具类,可便捷添加标题、正文并导出至文件。
持久化FileTxnLog
本文深入分析Zookeeper持久化机制,重点解读TxnLog与FileTxnLog源码。涵盖事务日志结构、append追加、truncate截断、commit提交等核心操作,解析日志格式、文件预分配及zxid管理,揭示数据存储与恢复原理。
MongoDB的特点
MongoDB具备高性能、高可用与高扩展性,支持嵌入式数据模型、多种索引及存储引擎,提供自动故障转移、分片集群与丰富查询功能,适用于海量数据存储与多样化应用场景。
Java泛型类型擦除以及类型擦除带来的问题
Java泛型在编译时会进行类型擦除,泛型信息不保留到运行期,仅保留原始类型(如Object或限定类型)。通过实例对比和反射操作可验证擦除机制,并揭示其对多态、类型检查、静态成员等的影响及编译器的处理策略。
Eclipse运行SSM/SSH项目教程
本文介绍了如何在Eclipse中导入并运行Java Web项目,涵盖基础软件安装(Eclipse、JDK、Tomcat)、项目导入步骤、Eclipse与Tomcat的绑定配置及常见问题处理,辅以图文说明和案例项目下载,帮助开发者快速搭建并运行SSM/SSH框架项目。
大数据与机器学习
大数据领域前沿技术分享与交流,这里不止有技术干货、学习心得、企业实践、社区活动,还有未来。