自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker Desktop 与 WSL 安装到D盘(包括镜像下载等)+ 汉化

Docker Desktop 安装到D盘(包括镜像下载等)+ 汉化。

2025-07-04 23:41:34 1167

原创 channel error 报错【已解决】

原来声明的交换机类型是 direct,已经绑定到这上面了,再改代码为 topic 会报错。解决方法:删除原来的交换机重新创建,或者声明一个新的交换机(换个名字)。

2024-11-04 14:13:43 1393

原创 Redis 主从复制

Redis 主从复制详解

2024-06-08 16:03:03 704

原创 Reids 事务,命令,场景

Redis 事务的性质,命令,场景

2024-06-04 17:14:14 303

原创 Redis 实现持久化

Redis 持久化知识点总结

2024-06-04 14:56:07 919

原创 Redis 中的 Zset 数据结构详解

Redis 中 Zset 的用法,编码,应用场景总结。

2024-05-30 22:41:34 1577

原创 Redis 中 Set 数据结构详解

Redis 中 Set 的常用命令,编码,场景整理。

2024-05-29 13:40:29 1603

原创 Redis 中 List 数据结构详解

Reids 中 List 的常用命令,编码,场景整理。

2024-05-28 22:52:09 1318

原创 redis中String,Hash类型用法与场景使用

本篇讲解redis中String,Hash类型的用法与场景

2024-05-25 16:19:38 1262

原创 Liunx上安装MySQL

该文章是介绍的是 Ubuntu 操作系统,如果有使用 CentOS 的小伙伴不会的话可以私信我~

2024-05-21 22:40:01 1268

原创 redis单线程模型

在Redis中,当两个客户端同时发送相同的请求时,Redis采用单线程模型来处理所有的客户端请求,会依次处理这些请求,每个请求都会按照先后顺序被执行,不会同时处理多个请求。使得Redis能够避免多线程并发访问数据时可能出现的竞争条件和同步问题。

2024-04-23 17:23:48 496

原创 redis常用数据结构

hashtable(最基本的hash表,不是java表中库中的那个),ziplist(压缩列表,在hash表元素比较少的时候优化成ziplist用来节省空间)skiplist(跳表,每个节点上又多个指针域的链表,可以达到查询元素为O(logn)),ziplist(元素比较少的时候优化成ziplist用来节省空间)raw(最基本的字符串),int(实现计数功能,当value为整数的时候会用整数来存),embstr(针对短字符串的特殊优化)

2024-04-23 16:44:18 386 1

原创 使用Maven打包时出现Please refer to D:路径 for the individual怎么解决?

解决方法1. test 中出现 bug。解决方法2. 将Maven中的Toggle 'Skip Tests' Mode勾选上即可

2024-03-13 09:12:27 1001 1

原创 Spring 事务传播机制

⽐如:有两个⽅法A,B都被 @Transactional 修饰,,A⽅法调⽤B⽅法 A⽅法运⾏时, 会开启⼀个事务。当A调⽤B时, B⽅法本⾝也有事务, 此时B⽅法运⾏时, 是加⼊A的事务,还是创建⼀个新的事务呢?这个就涉及到了事务的传播机制。多个事务⽅法存在调⽤关系时, 事务是如何在这些⽅法间进⾏传播的。A有事务,B就用A的事务。A没有事务,B就非事务方式运行。A没有事务,B以非事务的方式运行。A有事务,B就加入。A没有事务,B抛异常。A有/没有事务,B都以非事务的方式运行。

2024-02-27 15:39:25 498 2

原创 Spring Farmework,Spring Boot,Spring MVC 分别是什么?它们的关系又是什么?

Spring Framework是一个综合性的Java开发框架,提供了一系列的模块和功能来简化企业级应用程序的开发。Spring Boot 是基于 Spring 框架的一个子项目,用于简化 Spring 应用程序的搭建和开发。Spring MVC 是用于构建 Web 应用程序的模块。它通过提供一个MVC架构,使得开发者能够更容易地组织和管理Web应用程序的代码。Spring Boot则可以用来简化Spring MVC应用程序的开发和部署。

2024-02-15 16:49:10 1384 4

原创 【工厂模式】

定义:工厂模式是一种常见的设计模式,属于创建型模式。该模式提供了一种创建对象的接口,但具体的实现方式由子类决定。在工厂模式中,我们将对象的创建和使用分离开来,通过一个工厂类来实现对象的创建。这样可以隐藏对具体类的实例化过程,降低了系统的耦合度,提高了代码的灵活性和可维护性。

2024-02-07 15:20:00 266 2

原创 【代理模式】

常见的动态代理技术有JDK动态代理和CGLIB动态代理。动态代理的优点是可以减少代理类的数量,并且可以更灵活地应对不同类型的被代理对象,但也存在一定的性能损耗。JDK 动态代理要求目标对象实现一个或多个接口,它通过动态生成一个实现了目标对象接口的代理类,在代理类中完成横切逻辑的织入。在静态代理中,需要手动创建代理类,并在代理类中编写对被代理对象的调用逻辑。代理对象充当了被代理对象(目标对象)的代表,与被代理对象实现相同的接口,从而实现对被代理对象的间接访问,对被代理对象的访问进行控制和增强。

2024-02-07 13:39:32 1287

原创 面向切面编程的魔法 ---【Spring AOP】

AOP是⼀种思想, 它的实现⽅法有很多, 有Spring AOP,也有AspectJ、CGLIB等. Spring AOP是其中的⼀种实现⽅式.Spring AOP是Spring框架的一个关键特性,它提供了一种方式来使应用程序的横切关注点(如日志、事务管理、安全性等)与核心业务逻辑相分离。通过AOP,我们可以将这些关注点定义为切面,并将它们应用于应用程序的不同模块,而不是在每个模块中重复相同的代码。假设当前有一个常场景:现在我们要观察一个方法(接口)的响应时间。

2024-02-04 17:19:52 811

原创 AOP 与 OOP

OOP 是一种以对象为基础的编程范式,通过将数据和操作封装在对象中,实现了代码的抽象、封装、继承和多态。AOP 是一种通过将横切关注点(cross-cutting concerns)模块化的编程范式。横切关注点是那些存在于应用程序多个模块中的功能,例如日志记录、事务管理、安全性等。

2024-02-04 15:47:24 394 2

原创 拦截器 --- 您的好保安

在请求处理的不同阶段进行拦截和处理。它提供了一种方式来干预请求的处理流程,允许开发人员在请求到达Controller之前或之后执行自定义的逻辑。这里以拦截用户登录为例,创建一个 LoginInterceptor 类,实现 HandlerInterceptor 接口HandlerInterceptor 方法中有三个方法,也就是上面提到的 预处理,后处理,最终处理请求,我们重写一下这三个方法,第一个方法返回类型 boolean。

2024-01-31 20:52:23 745 1

原创 http 状态码

1xx(信息性状态码):2xx(成功状态码):3xx(重定向状态码):4xx(客户端错误状态码):5xx(服务器错误状态码):

2024-01-29 13:28:38 815 2

原创 【MyBatis】#{} 和 ${}

MyBatis是一种用于Java语言的持久层框架,它简化了数据库操作的过程。在MyBatis中,我们经常会看到两种不同的参数占位符语法:#{}和${}。虽然它们看起来相似,但在使用和处理上却有一些重要的区别。本文将深入解析这两种占位符的使用场景和特点。

2024-01-27 14:39:28 812 3

原创 MyBatis --- 常用注解

MyBatis是一款强大的持久层框架,通过注解的方式,可以更便捷地进行数据库操作。本文将介绍MyBatis中常用的注解以及在使用这些注解时需要注意的事项。

2024-01-26 16:32:59 635 3

原创 MyBatis --- 项目的搭建

步骤一:创建Spring Boot项目,步骤二:配置数据库连接,步骤三:创建数据库表,步骤四:创建实体类,步骤五:创建Mapper接口,步骤六:创建Service层,步骤七:创建Controller层,步骤八:运行项目

2024-01-26 14:56:24 477

原创 SpringBoot日志

Spring Boot通过集成常见的日志框架,如Logback、Log4j2和Java Util Logging,使得日志记录变得更加简单和灵活。

2024-01-24 22:21:33 516

原创 日志级别与配置

日志的级别从高到低依次为:致命信息,错误信息,警告信息,普通信息,调试信息,追踪信息

2024-01-24 22:14:39 518 1

原创 Spring,Spring Boot,Spring MVC

Spring Boot 是基于 Spring 框架的一个子项目,用于简化 Spring 应用程序的搭建和开发。Spring Boot 是对 Spring的封装,为了简化 Spring 应用开发,在中小型企业没有成本研究自己的框架,使用 Spring Boot 就能快熟搭建框架,减低开发成本,让开发人员更加专注于 Spring应用的开发,无需过多关注XML的配置和一些底层实现。是Spring框架的子项目,旨在简化Spring应用程序的搭建和开发,提供默认配置和约定大于配置的特性。

2024-01-21 14:55:30 557 4

原创 @Autowired 与 @Resource的区别

总体而言,虽然它们都可以用于依赖注入,但在使用的时候要考虑到具体的场景和框架。在Spring中,通常使用@Autowired,而在JavaEE容器中,可以选择使用@Resource。

2024-01-21 14:28:13 413

原创 Spring DI

依赖注入是一种设计模式,它通过外部实体(通常是容器)来注入一个对象的依赖关系,而不是在对象内部创建这些依赖关系。这种方式使得对象的创建和管理变得更加灵活,可以轻松地替换和升级各种组件。也就是说依赖注⼊是⼀个过程,是指IoC容器在创建Bean时,去提供运⾏时所依赖的对象。关于依赖注入,Spring 为我们提供了三种方法:1. 属性注入(Filed Injection)2. 构造方法注入(Constructor Injection)3. Setter 注入(Setter Injection)

2024-01-20 21:43:08 757

原创 Spring IOC

控制反转(IOC)是一种设计思想,其核心理念是将对象的创建、组装、管理等控制权从应用程序代码中转移到外部容器中。在传统的开发模式中,对象的创建和依赖关系通常由开发者直接管理,而在IOC容器中,这些任务交由容器负责,开发者只需关注业务逻辑的编写。Spring IOC的实现依赖于容器,容器负责实例化、配置和组装各个组件。在Spring中,IOC容器有两种主要实现方式:BeanFactory和ApplicationContext。

2024-01-20 21:16:23 2034 2

原创 java 多线程

目标:1. 线程创建2. 线程中断3. 线程等待4. 线程休眠5. 获取线程实例。

2024-01-12 18:15:19 661 4

原创 类加载机制详解

在Java中,类加载是指将类的字节码文件加载到内存中,并在JVM中创建一个代表这个类的Class对象。类加载器是执行这一任务的关键组件,负责从文件系统、网络或其他来源加载类的字节码。在Java中,我们可以通过自定义类加载器来扩展类的加载方式。这通常用于实现一些特殊的加载需求,例如加载加密的类文件或从网络动态加载类等。@Override// 自定义加载逻辑// 从文件或网络中加载类的字节码// 返回字节数组。

2024-01-12 18:07:39 1537 3

原创 redis过期策略

虽然有这两种结合的策略,但是效果不是很好。业务量大起来了,redis 的 key 被大量使用,内存直接不够了。难道redis直接这样挂掉?redis用8种内存淘汰策略保护自己~一个 redis 中可能同时存在很多 key,这些 key 可能有的设置了过期时间。此时,redis 服务器怎么知道哪些 key 过期要被删除,哪些 key 还没有过期呢?

2024-01-09 17:49:05 634 8

原创 redis常用命令

redis支持很多数据结构,也就是一个 value 可以是一些复杂的数据结构。redis 的这些键值对,是通过 哈希表 的方式来组织。但是它的某个值(value),又可以是一些数据结构。redis是客户端-服务器的结构,是通过网络来进行传输数据的。所以 redis 很多命令都是支持一次能操作多个 key / 操作。redis 的快,是相对于 Mysql 等。

2024-01-09 17:16:34 389

原创 java反射机制

Java作为一门强类型语言,其静态性和类型安全性一直是其优势之一。然而,在某些情况下,我们可能需要在运行时获取、操作类的信息,这时Java的反射机制就发挥了重要的作用。反射机制允许我们在运行时检查类、获取类的信息,并在运行时动态创建对象、调用方法、访问字段,这为编写灵活且可扩展的代码提供了可能。java类加载机制。

2024-01-04 18:07:31 425 1

原创 redis安装与配置

手把手教安装redis

2024-01-01 16:23:13 692

原创 生产者消费者模型

生产者消费者模型是多线程编程中常用的一种模型,用于解决生产者和消费者之间的协调与同步问题。在这个模型中,生产者负责生成数据,而消费者负责处理这些数据。在实际应用中,比如多线程环境下的任务调度、数据处理等,生产者消费者模型的设计和实现具有重要的意义。

2023-12-04 11:00:34 479 5

原创 SpringMVC常用注解和用法总结

SpringMVC是一款用于构建基于Java的Web应用程序的框架,它通过注解的方式简化了Web应用的开发。在本文中,我们将总结一些SpringMVC中常用的注解及其用法,以便开发者更好地理解和使用这些注解。

2023-12-03 20:26:49 602 6

原创 深入理解 Cookie 和 Session 的工作流程

开发人员需要采用一些技术手段来管理用户的状态信息。在这方面,Cookie 和 Session 是两个常见且关键的概念。本文将深入探讨 Cookie 和 Session 的工作流程,以帮助读者更好地理解它们在Web开发中的作用。Cookie 是存储在用户计算机上的小型文本文件,由服务器发送到用户浏览器,然后浏览器会将其存储起来。它通常包含一些键值对,用于标识用户和存储有关用户访问网站的信息。Session 是。

2023-11-29 14:18:50 935 7

原创 从输入URL到展示出页面

从输入URL到展示出页面,涉及到多个步骤和不同的技术。本篇来解释一下整个过程中发生的主要事件:

2023-10-21 23:09:50 718 1

基于Spring,MyBatis 的图书管理系统

基于Spring,MyBatis实现的图书管理系统

2024-02-04

基于 servlet 实现的博客系统

项目概述: 该博客系统是一个基于Servlet技术开发的Web应用,旨在提供一个简单而功能完备的博客平台。用户可以注册账户、发布博客文章。整个系统使用Java Servlet技术作为后端处理逻辑,并采用MVC(Model-View-Controller)架构。 技术栈: Java Servlet MySQL(用于存储用户信息、博客内容等数据) JSP(JavaServer Pages)用于前端页面渲染 Tomcat作为服务器容器 主要功能特性: 1. 用户登录 2. 博客文章的发布、编辑和删除 3. 博客列表展示和单篇博客详细页面 数据库设计: 数据库使用MySQL,包括以下表: 1. user(用户信息表) 2. blog(博客信息表) 部署和运行: 1. 在Tomcat中部署WAR文件 2. 配置数据库连接信息 3. 启动Tomcat服务器 参考资料: 1. Java Servlet官方文档 2. JSP简介 3. Tomcat官方网站 展望: 1. 适合新手用来了解服务器,客户端的交互 2. 增强对 Mysql 的使用 3. 进一步了解 servlet

2024-01-12

空空如也

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

TA关注的人

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