自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RabbitMQ

介绍MQ核心作用(解耦/异步/削峰)及AMQP协议组件。涵盖Linux安装指南、三种消息模型(Simple点对点/Work负载均衡/Fanout广播)及代码示例。详解手动ACK确认、公平分发等关键机制,通过快递系统类比帮助理解,提供实用命令和配置示例,适合快速掌握核心功能与应用场景。

2026-05-20 15:30:11 1162 1

原创 Elasticsearch全文检索服务

本文介绍了Elasticsearch(ES)的核心概念和使用方法。主要内容包括:1) ES作为全文检索引擎的优势,相比MySQL更适合搜索场景;2) ES基于倒排索引的原理,通过关键词快速定位文档;3) 客户端连接方式推荐使用RestHighLevelClient;4) Linux环境下ES的安装配置步骤;5) 索引、类型和文档的基本操作;6) IK中文分词器的安装和使用;7) 字段类型和属性的详细说明。文章提供了大量实用命令和配置示例,帮助开发者快速上手ES。

2026-05-19 08:48:04 604

原创 Nginx

Nginx是一款高性能的C语言Web服务器,兼具反向代理、负载均衡和动静分离功能。其特点包括低内存占用、高稳定性及快速响应。通过配置nginx.conf文件可实现请求转发、多服务器负载分配(如轮询、权重、IP哈希策略)及静态资源直接处理,显著提升性能。安装需编译环境支持,解压后通过configure指定路径并make编译。

2026-05-07 19:36:48 198

原创 Git学习笔记

简单说,Git就是个“时光机”!Linus大佬为了管Linux内核开发搞出来的神器,不管项目多大多小,都能把代码版本管得明明白白,主打一个高效不翻车。Git用得6,代码不迷路;先更后改不冲突,分支别忘合入主;提交注释写清楚,历史记录能救苦;本地远程同步好,摸鱼摸得没烦恼!

2026-04-29 19:45:12 387

原创 Mybatis-Plus学习笔记

MyBatis-Plus是MyBatis增强工具,采用"约定优于配置"理念简化开发。核心特性包括无侵入增强、自动CRUD、Lambda支持和代码生成器。通过pom.xml添加依赖即可集成,含核心库、生成器和数据库驱动。代码生成器自动创建实体类、Mapper接口、Service层及XML文件,减少重复代码。生成代码结构规范,包含pojo、mapper、service等标准包。配置数据源和策略后,可快速搭建基础架构,提升CRUD开发效率,适合Spring Boot项目整合。

2026-04-28 20:38:45 440

原创 Spring Cloud Alibaba(六)-链路追踪SkyWalking

SkyWalking是国产开源APM工具,通过无侵入探针实现微服务链路可视化监控。其三层架构包含Agent/OAP/UI,支持MySQL持久化存储和告警规则配置。无需修改代码,仅需JVM参数接入即可实现全链路追踪,有效解决微服务故障定位难题。提供端口修改、方法追踪注解等进阶功能,对比主流框架优势明显。

2026-04-28 20:14:34 508

原创 Spring Cloud Alibaba(五) -分布式事务Seata

Seata是解决微服务分布式事务的框架,通过TC(事务协调器)、TM(事务管理器)和RM(资源管理器)协同工作。TC作为核心枢纽协调全局事务,TM定义事务边界,RM管理分支事务资源。配置需部署Seata Server,修改registry.conf设置注册中心和配置中心,创建TC所需的undo_log等数据库表。Seata支持AT、TCC等模式,通过二阶段提交保证跨服务操作的ACID特性,实现分布式系统的事务一致性。

2026-04-28 20:02:53 554

原创 Spring Cloud Alibaba(四)---Spring Cloud Gateway

响应式编程:Gateway基于WebFlux,所以你会看到很多MonoFlux。如果你习惯了Servlet的同步编程,刚开始会觉得脑子转不过弯。是把接力棒交给下一个人。依赖冲突:再次强调,pom.xml里别手贱加,除非你想看控制台报错报错。Nacos联动lb://服务名是灵魂,一定要确保Nacos里能查到这个服务,否则网关会报或者。过滤器顺序:全局过滤器和局部过滤器是可以共存的,执行顺序由getOrder()决定。

2026-04-23 19:16:17 502

原创 Spring Boot Alibaba(三)----Sentinel

Sentinel 就是微服务的保镖。限流:防上游搞事。熔断降级:防下游拖后腿。整合 Feign:让远程调用更健壮。持久化:让规则永久生效。

2026-04-21 19:26:01 664

原创 SpringCloudAlibaba(二)

微服务调用技术对比与实战指南 本文总结了Ribbon和Feign两大微服务调用工具的核心特性和使用方法。Ribbon作为客户端负载均衡器,提供轮询、随机等多种策略,通过@LoadBalanced注解简化服务调用。Feign则以声明式接口方式实现远程调用,大幅提升开发效率。文章详细介绍了两者的配置步骤、工作原理和最佳实践,包括超时设置、传参技巧和常见问题解决方案。通过功能对比表展示了Ribbon在精细控制和Feign在开发效率上的各自优势,并提供了高级配置如日志记录和请求拦截的实现方法

2026-04-17 19:54:33 378

原创 Spring Cloud Alibaba学习笔记(一)

很多人以为它是个框架,其实不对。它是一套微服务开发全家桶。Spring 官方非常鸡贼(褒义),它从来不重复造轮子。它发现 Netflix 公司造了很多好用的零件(Eureka, Ribbon, Hystrix),于是 Spring 就基于 Spring Boot,把这些零件组装在一起,提供了一套开箱即用的解决方案。(早期的经典组合)既然有了 Spring Cloud,为啥还要搞个 Alibaba 版?因为后来 Netflix 的很多核心组件(比如 Eureka 2.0)不更新了,甚至停更了。

2026-04-15 19:16:46 463

原创 MySQL性能调优

《SQL性能调优实战指南》摘要 本文系统介绍了SQL性能优化的核心技巧与底层原理。主要内容包括:避免SELECT *以减少数据传输;合理使用索引(最左前缀原则、避免隐式转换);JOIN替代嵌套子查询;游标分页优化深度查询;控制事务粒度避免锁竞争;利用EXPLAIN分析执行计划。特别深入讲解了B+树索引原理,包括聚簇索引与二级索引的区别。实战部分提供了随机查询、表连接优化和模糊查询的典型案例,如通过ID范围替代ORDER BY RAND()实现千倍性能提升。

2026-04-13 19:32:24 411

原创 Spring Security

摘要:Spring Security是一个强大的安全框架,核心功能包括认证(Authentication)和授权(Authorization)。它通过15个内置过滤器实现安全控制,其中关键过滤器负责登录验证、权限检查等。开发者可通过继承WebSecurityConfigurerAdapter来自定义安全配置,包括URL权限规则、登录/登出流程等。框架还支持数据库用户查询(通过UserDetailsService)和密码加密。默认提供基础登录页,但支持替换为自定义页面。

2026-04-10 19:19:44 408

原创 Spring Data Redis

Spring Data Redis是Spring提供的Redis操作框架,封装了底层客户端(Lettuce/Jedis),提供统一的操作接口。核心优势在于简化代码、支持灵活序列化策略。通过RedisTemplate可实现字符串、哈希、列表等数据结构操作,推荐使用GenericJackson2JsonRedisSerializer避免乱码。配置需注意连接池参数调优,生产环境建议启用。该框架还支持缓存注解和Redis集群模式,是Java生态中高效便捷的Redis访问方案。

2026-04-02 20:26:08 293

原创 Redis

Redis是一款高性能内存数据库,主要用于高并发场景下的缓存解决方案。文章从安装配置、基本命令、多数据库管理、持久化机制和主从复制五个方面展开讲解。Redis通过内存读写实现微秒级响应,特别适合热点数据缓存场景。安装过程包括源码编译、守护进程配置和基础命令操作。Redis支持16个逻辑数据库,提供RDB快照和AOF日志两种持久化方式,建议生产环境混合使用。最后介绍了主从复制配置,通过Slave节点同步Master数据实现高可用。文章采用生动比喻和实验演示,帮助读者深入理解Redis核心原理与应用实践。

2026-03-31 19:35:39 366

原创 Spring Boot笔记

Spring Boot 纯注解配置与入门指南 摘要:本文介绍了Spring Boot纯注解配置的5个核心注解:@Bean(手动注册组件)、@PropertySource(加载外部属性文件)、@ComponentScan(组件扫描)、@Import(导入配置类)和@Configuration(配置类标识),通过代码示例展示如何替代XML配置。同时概述了Spring Boot的三大特点:简化配置、简化Maven依赖管理和内嵌Tomcat,并提供了入门案例的pom.xml配置和Controller示例

2026-03-26 19:23:27 461

原创 Spring MVC

Spring MVC是一个基于MVC设计模式的Web框架,它通过封装Servlet简化了Web开发。相比原生Servlet,Spring MVC利用注解和反射实现了自动参数绑定,降低了代码耦合度。其核心组件DispatcherServlet作为前端控制器,负责请求分发。典型开发流程包括:配置pom.xml依赖、web.xml定义Servlet映射、springmvc.xml配置组件扫描和视图解析器,最后通过@Controller注解编写控制器类。框架还提供了静态资源处理、中文编码过滤等便捷功能,大幅提升了开

2026-03-19 19:24:28 543

原创 Spring框架

/ ❌ 硬编码:直接 new 了实现类// 如果以后要换成 UserDaoOracleImpl,这里必须改代码!后果:改一个类,牵一发而动全身。这就是高耦合。IOC是思想(控制反转),DI是实现 IOC 的具体手段。定义:在 Spring 容器创建对象时,动态地将该对象所依赖的其他对象(如userDao),通过反射赋值给它。一句话我不找依赖,依赖自己送上门。定义:面向切面编程。核心手段动态代理。目标:在不修改源代码的前提下,对程序功能进行增强。定义:事务是数据库操作的最小工作单元。

2026-03-11 19:59:12 671

原创 动态代理(Proxy)

本文介绍了动态代理的核心概念与应用。首先通过静态代理模式展示了代理的基本原理,分析了其代码冗余、不灵活的缺点。然后重点讲解了两种动态代理实现方式:JDK动态代理(基于接口和反射)和CGLIB动态代理(基于继承和字节码生成),包括它们的实现原理、适用场景及代码示例。最后指出动态代理是Spring AOP等框架的基础技术,能有效实现方法增强和业务解耦。全文通过明星经纪人的生动类比,帮助理解代理模式在实际开发中的应用价值。

2026-03-06 17:47:51 564

原创 MyBatis

MyBatis是一款优秀的持久层框架,简化了传统JDBC繁琐的操作流程。它通过XML或注解配置SQL语句,自动完成数据库连接管理、参数设置和结果集映射。本文介绍了MyBatis的基本概念、开发环境搭建(包括Maven依赖配置、核心配置文件编写)以及完整的CRUD操作示例。重点演示了单参数查询、多参数传递的三种方式(位置参数、@Param注解、对象封装),并提供了从数据库表创建到测试用例的完整开发流程。MyBatis让开发者只需关注SQL和接口定义,大幅提高了数据库操作的开发效率。

2026-03-04 20:10:46 767

原创 JDBC接口

JDBC是Java连接数据库的标准接口,提供统一方式访问不同数据库(MySQL、Oracle等)。其核心API包括DriverManager、Connection、Statement和ResultSet。使用JDBC的六大步骤为:加载驱动、获取连接、创建执行器、执行SQL、处理结果和释放资源。推荐使用PreparedStatement防止SQL注入,并通过事务管理保证数据一致性。为提高效率,可封装DBUtils工具类简化重复代码。JDBC实现了Java程序与数据库的高效安全交互。

2026-02-02 19:44:12 783

原创 Maven

Maven是Apache开源的项目管理工具,解决Java开发的依赖管理和项目构建问题。通过坐标(groupId、artifactId、version)自动下载依赖,支持本地仓库、私服和中央仓库。提供标准化项目结构和生命周期命令(如compile、package),实现一键构建。核心功能包括依赖传递管理、冲突解决(如exclusions排除)、多生命周期(Clean、Default、Site)。通过settings.xml配置镜像(如阿里云)和仓库路径,与IDEA集成可自动导入依赖,显著提升效率。

2026-02-02 19:16:16 860

原创 09 多线程

这是多个线程间的一种。

2026-01-10 14:06:47 1285

原创 08 异常

我们说了Java中不同的异常类,分别表示着某一种具体的异常情况,那么在开发中总是有些异常情况是核心类库中没有定义好的,此时我们需要根据自己业务的异常情况来定义异常类。例如年龄负数问题,考试成绩负数问题等等。自定义一个编译时异常类型:自定义类 并继承。自定义一个运行时异常类型:自定义类 并继承。注意自定义的异常只能通过throw抛出。自定义异常:(1)要继承一个异常类型(2)建议大家提供至少两个构造器,一个是无参构造,一个是(String message)构造器(3)自定义异常对象只能手动抛出。

2026-01-10 14:03:49 924

原创 07 静态、枚举、包装类、抽象类、内部类

在类中声明的实例变量,其值是每一个对象独立的。但是有些成员变量的值不需要或不能每一个对象单独存储一份,即有些成员变量和当前类的对象无关。在类中声明的实例方法,在类的外面必须要先创建对象,才能调用。但是有些方法的调用和当前类的对象无关,那么创建对象就有点麻烦了。此时,就需要将和当前类的对象无关的成员变量、成员方法声明为静态的(static)。有static修饰的成员变量就是静态变量。2、静态变量的特点静态变量的默认值规则和实例变量一样。静态变量值是所有对象共享。静态变量的值存储在方法区。静态变量在本类

2026-01-08 20:34:27 1124

原创 06 (面向对象)封装、继承、多态

面向对象编程语言是对客观世界的模拟,客观世界里每一个事物的内部信息都是隐藏在对象内部的,外界无法直接操作和修改,只能通过指定的方式进行访问和修改。封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。随着我们系统越来越复杂,类会越来越多,那么类之间的访问边界必须把握好,面向对象的开发原则要遵循“高内聚、低耦合”,而“高内聚,低耦合”的体现之一:隐藏对象内部的复杂性,只对外公开简单和可控的访问方式,从而提高系统的可扩展性、可维护性。通俗

2026-01-08 20:32:02 891

原创 05 面向对象(类与对象、方法)

关键字:class(小写)【修饰符】 class 类名 {

2026-01-06 20:17:04 867

原创 04 数组

内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来。我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存。Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。因为第一个元素距离数组首地址间隔0个单元格。

2026-01-06 20:15:12 1406 1

原创 03 java流程控制语句

常量、变量代表数据。由变量或常量 + 运算符构成的计算表达式。但其实表达式一共分为三种:(1)变量或常量 + 运算符构成的计算表达式(2)new 表达式,结果是一个数组或类的对象。(后面讲)(3)方法调用表达式,结果是方法返回值或void(无返回值)。(后面讲)程序的功能是由语句来完成的,语句分为单语句和复合语句。单语句又分为:(1)空语句,什么功能都没有。它就是单独的一个分号;(2)表达式语句,就是表达式后面加分号;

2026-01-05 21:04:15 743

原创 02 Java变量和运算符

在Java中一共有12个标点符号。运算,变量自己的值减少1,用法与。(1)表达式不要太复杂。其他变量放在一起使用。输出语句放在一起使用。(2)先算的使用()

2026-01-05 21:00:25 1272

原创 MySQL学习(第五天)

执行多条sql语句,要么全部成功,要么全部回滚。

2025-12-30 19:24:09 870

原创 MySQL学习(第四天)

关联查询:有关联关系的多张表一起查询,比如:员工表和部门部可以通过’deptno’关联。查询结果:A,以左表为基准,左表全部展示,右表展示符合关联条件的记录。查询结果:B,以右表为基准,右表全部展示,左表展示符合关联条件的记录。特点:等值连接是内连接的一种特殊实现方式,使用where条件关联数据。查询结果:A∩B,展示两张表符合关联条件的记录。关键字:inner join | join。查询结果:A∩B,等同于内连接。关键字:right join。关键字:left join。

2025-12-29 19:44:23 404

原创 MySQL学习(第三天)

比较运算符有:>、>=、=、<、<=、!分组函数:max、min、avg、count、sum。单行函数:数学函数、字符串函数、日期函数、加密函数。逻辑运算符有:and、or、not。

2025-12-27 17:50:10 338

原创 MySQL学习(第二天)

语法:select 字段名…from 表名 limit index,pageSize。特点:如果没有填写数据的话,会自动填写默认值。作用:简历表之间的关联联系时,保障数据完整性。作用:将两个select的查询结果合并为一个。特点:另一张表的主键(也可能是唯一约束列)select 查询的名字 from 表名。union all:合并。union :合并,去重。作用:记录的唯一标识。特点:唯一、不能为空。

2025-12-26 19:12:30 791

原创 MYSQL学习 (第一天)

数据库(database,db):存储数据的仓库(即存储数据的文件夹)数据库管理系统(DataBase Management System,简称 DBMS):管理数据库的软件(即mysql、oracle)

2025-12-25 19:27:43 686

原创 Linux学习 (第三天)

1、卸载自带的jdk。2、上传并解压jdk。2、启动tomcat。8、开启远程登录权限。

2025-12-24 19:06:34 508

原创 Linux学习 (第二天)

7、cat、more、less、tail、grep:浏览文档8、系统进程。

2025-12-23 17:57:45 508

原创 Linux学习(第一天)

在Linux学习中的一些笔记,不喜勿喷UNIX是一个多用户,多任务,收费的操作系统Linux是一个基于UNIX的开源的操作系统,诞生于芬兰,创始人是林纳斯.托瓦兹。

2025-12-22 20:06:04 305

空空如也

空空如也

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

TA关注的人

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