自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Servlet学习笔记

Servlet (接口)↑GenericServlet (抽象类,适用于所有协议)↑HttpServlet (抽象类,专为 HTTP 协议设计,不需要你实现 service(),而是通过内部逻辑自动分派doGet()doPost()等方法)@Override@Override自定义Servlet 继承HttpServlet ,实现doGet 和doPost 即可,不推荐重写service方法,因为HttpServlet的service方法已经设计好了方法分发。

2025-11-28 10:25:43 910

原创 RabbitMQ高级

每个只能配置一个,因此我们可以在配置类中统一设置。我们在publisher模块定义一个配置类:@Slf4j@Overridelog.error("触发return callback,");});由于每个消息发送时的处理逻辑不一定相同,因此ConfirmCallback需要在每次发消息时定义。具体来说,是在调用RabbitTemplate中的convertAndSend方法时,多传递一个参数:id:消息的唯一标示,MQ对不同的消息的回执以此做判断,避免混淆。

2025-08-04 18:50:26 613

原创 RabbitMQ基础

多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息将消息按照规则路由到与之绑定的队列不能缓存消息,路由失败,消息丢失FanoutExchange的会将消息路由到每个绑定的队列描述下Direct交换机与Fanout交换机的差异?Fanout交换机将消息路由给每一个与之绑定的队列Direct交换机根据RoutingKey判断路由给哪个队列。

2025-08-04 15:02:05 1687

原创 Redis 内存回收

Redis之所以性能强,最主要的原因就是基于内存存储。然而单节点的Redis其内存大小不宜过大,会影响持久化或主从同步性能。我们可以通过修改配置文件来设置Redis的最大内存:Redis本身是一个典型的key-value内存存储数据库,因此所有的key、value都保存在之前学习过的Dict结构中。不过在其database结构体中,有两个Dict:一个用来记录key-value;另一个用来记录key-TTL。

2025-08-02 19:13:35 1379

原创 原理篇-数据结构

我们都知道Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。不过Redis没有直接使用C语言中的字符串,因为C语言字符串存在很多问题:获取字符串长度的需要通过运算非二进制安全不可修改Redis构建了一种新的字符串结构,称为简单动态字符串(Simple Dynamic String),简称SDS。

2025-07-30 19:13:53 1635

原创 Redis多级缓存

多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Tomcat压力,提升服务性能:浏览器访问静态资源时,优先读取浏览器本地缓存访问非静态资源(ajax查询数据)时,访问服务端请求到达Nginx后,优先读取Nginx本地缓存如果Nginx本地缓存未命中,则去直接查询Redis(不经过Tomcat)如果Redis查询未命中,则查询Tomcat请求进入Tomcat后,优先查询JVM进程缓存如果JVM进程缓存未命中,则查询数据库在多级缓存架构中,,因此这样的nginx服务不再是一个。

2025-07-29 12:18:54 792

原创 Redis高级-分布式缓存-笔记

基于Redis集群解决单机Redis存在的问题。

2025-07-28 12:24:11 669 2

原创 Java IO流 学习(全网最)

在 Java 中,File类是java.io包中的一个重要类,用于表示文件和目录(文件夹)的。它,而是对文件或目录的抽象表示,可以用于创建、删除、重命名文件和目录,以及获取文件属性等操作。

2025-07-23 18:45:12 561

原创 WebSocket Java简单demo

WebSocket是一种基于TCP的全双工通信协议,实现了服务器与客户端之间的实时双向数据传输。与HTTP协议相比,WebSocket只需一次握手即可建立持久连接,具有通信效率高、实时性强等特点。文章详细对比了两种协议的通信模式、连接方式和适用场景,并提供了Java实现WebSocket的完整代码示例,包括服务端配置、连接管理以及前端页面交互。通过定时推送和消息收发演示,展现了WebSocket在即时通讯、实时推送等场景中的优势。

2025-07-21 11:23:38 864

原创 Redis常用指令,全网最不全的总结

Redis()是一个,它可以用作。Redis 以其和,广泛应用于高性能系统中。总结就是Redis 是在内存中非SQL数据库,以Key-value 存储。

2025-07-16 13:40:27 306

原创 利用AOP来实现公共字段填充 案例

数据库有多张表都有创建时间、创建用户、更新时间、更新用户的字段,每次做更新或者新增的时候,总要重复写一些代码,如何让每次在新增或者更新时自动添加上这些字段呢,这就使用到了切面编程的思想,下面是具体的实现过程。

2025-07-14 12:06:19 300

原创 JAVA反射学习

这是GPT给出的回答,看不懂举个例子就明白了反射”就是“程序在运行时,通过字符串或类型动态地获取类的信息,并进行方法调用或字段访问”。可以看出,

2025-07-08 15:27:35 723

原创 多线程&JUC学习总结

继承Thread类实现简单,适合任务逻辑简单的场景。缺点是单继承限制,不利于线程任务和线程控制的解耦。实现Runnable接口可实现多继承,任务和线程分离。实现Callable接口可以有返回值,可以抛出异常,缺点是复杂一点,需要FutureTask封装。java也支持自定义线程池,自定义的线程池更灵活 更安全。使用来构造线程池。// 1️⃣ 自定义线程池参数// 核心线程数:线程池中始终保留的线程数量,即使空闲也不会回收// 最大线程数:线程池允许创建的最大线程数(含核心线程)

2025-07-07 16:12:15 592

原创 Git 指令

创建文件夹 git init 初始化 把当前目录初始化为一个 Git 仓库初始化之后 有个.git文件夹 里包含了 Git 所需的所有元数据和版本信息(如提交历史、配置、分支等) 如图objects文件夹: Git 实际上是把所有内容都压缩成对象保存在这里。

2025-07-06 17:04:48 724

空空如也

空空如也

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

TA关注的人

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