- 博客(22)
- 收藏
- 关注
原创 @Autowired注入接口的多个实现类
看视频的时候学到一个知识点。有一个很经典的题目:@Autowired和@Resource的区别。@Autowired默认使用单例模式注入。假如你要注入AppService接口,该接口有3个实现类,那么以下这种写法是报错的,因为Spring不确定要注入哪个实现类。这个是在学策略模式的时候学会的。可以根据前端传的不同的参数,选择性的在这个地方创建类,取代的是if else。你可以使用一个List来接收,然后去遍历这个List,对你当前需要的实现类进行处理。
2023-12-11 21:48:05 319
原创 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
原创 Java中wait()方法和sleep()区别
sleep方法不会释放锁,而是等待经过指定的时间之后,再次进入RUNABLE状态,等待时间片分到该线程的时候,该线程再RUN起来。1、wait方法是Object类中的方法,是从一个对象调用(称为锁定对象),而不是从一个线程调用。sleep()方法属于Thread类中的一个方法,表示一个线程进入睡眠状态,等一段时间自动进入RUNABLE状态,然后等待分配时间片即可。4、sleep方法可以在任何地方使用,但是wait方法只能在synchronized同步方法或者同步代码块中使用。
2023-10-16 22:26:35 143 2
原创 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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人