自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 @Autowired注入接口的多个实现类

看视频的时候学到一个知识点。有一个很经典的题目:@Autowired和@Resource的区别。@Autowired默认使用单例模式注入。假如你要注入AppService接口,该接口有3个实现类,那么以下这种写法是报错的,因为Spring不确定要注入哪个实现类。这个是在学策略模式的时候学会的。可以根据前端传的不同的参数,选择性的在这个地方创建类,取代的是if else。你可以使用一个List来接收,然后去遍历这个List,对你当前需要的实现类进行处理。

2023-12-11 21:48:05 319

原创 模板 + 策略 + 工厂模式

在所有的设计模式中,都需要遵循一个原则,就是开闭原则,开闭原则说的是扩展优于修改。

2023-12-11 21:30:39 72

原创 Redis持久化

2023-11-18 16:03:02 78 1

原创 Redis线程模型

2023-11-18 11:10:32 69 1

原创 NIO——多路复用

1、NIO是用来解决高并发、IO高性能的有效方法。NIO就是同步非阻塞,服务器实现模式为一个线程处理多个客户端的连接(BIO是阻塞型的,一个服务端线程只能处理一个客户端发来的连接)。NIO实现这个功能是通过Selector多路复用器。2、NIO中有三个核心的组件,分别是:Channel(通道,常用两种,分别是客户端和服务端的)、Buffer(缓冲区)、Selector(多路复用器)在这张图中1.每个Channel对应一个Buffer。

2023-11-18 11:01:46 270 1

原创 Cache项目——持久化

一个接口,四个实现类,其中CachePersistAdaptor使用了适配器模式,也就是说CachePersistAdaptor实现了ICachePersist接口,并且其他三个类继承于CachePersistAdaptor类。放的是每一次操作缓存的命令,增删改操作。,对这个集合的元素进行遍历,相当于直接拿出来的是Cache中的元素。,是对持久化的东西做一个定义,后面直接将这个PersistRdbEntry对象进行JSON化,然后存到文件中。RDB持久化的方式是,在persist()方法中,使用Map的。

2023-11-08 02:03:16 156 1

原创 从键入网址到显示页面发生了什么(后端版本)

从键入网址到显示页面发生了什么(后端版本)

2023-11-03 09:36:31 28

原创 Java中wait()方法和sleep()区别

sleep方法不会释放锁,而是等待经过指定的时间之后,再次进入RUNABLE状态,等待时间片分到该线程的时候,该线程再RUN起来。1、wait方法是Object类中的方法,是从一个对象调用(称为锁定对象),而不是从一个线程调用。sleep()方法属于Thread类中的一个方法,表示一个线程进入睡眠状态,等一段时间自动进入RUNABLE状态,然后等待分配时间片即可。4、sleep方法可以在任何地方使用,但是wait方法只能在synchronized同步方法或者同步代码块中使用。

2023-10-16 22:26:35 143 2

原创 volatile关键字的作用

volatile关键字的作用

2023-10-13 17:46:30 35 1

原创 Thread类中的start()方法和run()方法

Thread类中的start()方法和run()方法

2023-10-13 15:11:29 849 1

原创 Cache项目跟做记录

Cache项目记录

2023-10-12 18:04:11 35

原创 RequestBodyAdvice和ResponseBodyAdvice优化请求、响应格式

RequestBodyAdvice和ResponseBodyAdvice优化请求、响应格式

2023-10-12 17:59:56 205

原创 Docker安装使用

目录一、安装Docker1、win系统2、wsl下3、docker安装地址二、Docker1、概念2、容器与虚拟机比较2、docker能干嘛3、docker三要素1、镜像:类比于Java中的类模板2、容器:类比于以镜像为模板创建的实例对象3、仓库:4、docker架构5、镜像加速器6、第一次运行docker—hello wrold7、为什么docker比Java虚拟机快8、docker常用命令1、帮助启动类命令(Ubuntu下)

2023-07-13 15:20:17 173 1

原创 Java内存区域

Java虚拟机在Java程序运行时还会把它所管理的内存划分为不同的数据区域。分别有:方法区、虚拟机栈、本地方法栈、程序计数器、堆。

2023-07-13 10:43:10 327 1

原创 maven

maven本质上是一个插件执行框架,maven的核心并不执行任何具体的构建任务。所有的执行任务都是由一个一个插件来完成的。每一个任务都对应了一个插件目标,每个插件会有一个或多个目标。用户可以通过两种方式调用maven插件目标:1、将插件目标与生命周期绑定,这样用户在命令行操作生命周期的命令相当于执行了插件任务。

2023-07-13 10:38:33 143 1

原创 JVM类加载机制

我们在做类加载的时候,都用的是类加载器的实例对象。所以我们判断一个类是否被加载过只是判断当前的类有没有被这个类加载器的实例对象加载过。在Tomcat中,如果两个应用里面有两个类是同名的,比如说都叫HelloServlet,那么A应用中的HelloServlet被加载之后,B中的HelloServlet就不会被加载了,所以Tomcat要自定义类加载器,避免出现刚刚说的那种情况。有几个应用就创建几个实例化对象,使用单独的类加载器,也就是WebappClassLoader。目的就是为了实现类加载的隔离。

2023-07-12 10:45:34 76 1

原创 Spring注解驱动开发-@Conditional

Spring注解驱动开发-@Conditional

2022-10-07 19:55:25 287 1

原创 @interface注解使用

@interface注解使用

2022-10-06 16:01:58 218

原创 Spring注解驱动开发—@Configuration&@Bean

Spring注解驱动开发—@Configuration&@Bean

2022-08-27 20:18:05 132

原创 SpringBoot新建项目时Server Url爆红(已解决)

SpringBoot新建项目时Server Url爆红(已解决)

2022-08-22 20:43:58 1872

原创 Java接口中的default(默认方法)

Java接口中的default(默认方法)

2022-07-19 08:43:57 9636 1

原创 重装Tomcat失败(已解决)

解决tomcat重新安装失败的问题

2022-07-16 17:24:18 712 1

空空如也

空空如也

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

TA关注的人

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