rabbitmq发送消息确认分为两个阶段: 生产者->Broker 交换机 -> 队列image.png在第一阶段,rabbitmq提供了一个ConfirmCallback的...
rabbitmq发送消息确认分为两个阶段: 生产者->Broker 交换机 -> 队列image.png在第一阶段,rabbitmq提供了一个ConfirmCallback的...
rabbitmq的消费确认机制主要分为三个类型:1.none2.自动auto(默认)3.手动manual在配置文件中通过以下进行配置 AUTO rabbitmq默认的确认方式...
FutureTask执行线程时,想要获取线程的执行结果,可以通过轮询futureTask.isDone()或者调用futureTask.get()方法,但两者都会阻塞,不算真...
Java创建线程的方式有三种:1.继承Thread2.实现Runnable3.实现Callable 继承Thread 继承Thread类并重写其void run方式即可新建一...
redis之所以快,不仅仅是因为它是基于内存的操作,不需要像磁盘一样,读写数据需要经过磁盘IO操作,直接与CPU进行交互。除此之外,还得益于IO多路复用+单线程处理。提到IO...
总览 Serial收集器 Serial收集器是一个单线程的垃圾收集器,这里的单线程强调的是进行立即收集时,其他线程必须暂停(stop the world)。运行如下:但该收集...
logback是spring默认的日志框架,所以不需要额外引入依赖,只需要在Java项目中的resource目录下新建一个logback-spring.xml文件即可。log...
拉取nacos镜像 挂载目录 这一步是添加映射文件夹,将宿主机的文件映射到nacos容器中 启动容器,并将nacos文件复制到宿主机上 拉取mysql镜像 mysql创建数据...
快速排序 原理:首先选择一个基准值,将一个数组不断分割成两个部分,左边部分小于基准值,右边部分大于基准值,再对子数组重复此步骤,直到最后每个子数组只有一个元素为止
单例模式 工厂模式 观察者模式 JDK动态代理 基于CGLIB动态代理 装饰器模式和代理模式的区别 装饰器模式和代理模式都属于结构型设计模式,它们都可以在不改变原有对象的基础...
参考视频:https://www.bilibili.com/video/BV19e4y1q7JJ/?spm_id_from=333.1007.tianma.2-3-6.cli...
1.重写了Bean的equals方法,初始化两个属性相同的该Bean,放入HashSet中,最终会有几个元素? 答案:2个虽然重写了equals方法,但是没有重写hashco...
ThreradLocal叫做线程本地变量,主要作用在于为变量在每一个独立的线程创建一个副本,使得每个线程都可以访问自己的内部的变量副本,不会影响其他线程。 ThreadLoc...
java面向对象有哪些特征? 继承(复用) 封装(安全) 多态(三要素:继承、重写、父类引用指向子类对象) 静态方法为什么不能调用非静态成员 这个需要结合 JVM 的相关知识...
线程复习 WAITING和TIMED_WAITING区别WAITING(不见不散),TIMED_WAITING(过时不候)wait和sleep的区别 sleep是Thread...
Annotation的作用 不是程序本身,可以对程序作出解释 可以被其他程序读取 Annotation的格式 @注释名,还可以添加参数值 Annotation在哪里使用? 可...
1.JVM位置 Jdk包含jre+开发工具,jre包括了jvm+java标准类库。简单来说,jvm保证了Java的跨平台性,只要在不同的操作系统安装了jvm(Java虚拟机)...
进程与线程 进程是执行程序的一次执行过程,是一个动态的概念。是系统资源分配的单位。而线程是CPU调度和执行的单位,一个进程可以包含多个线程。注:很多多线程都是模拟出来的,真正...
简介 nginx是一个高性能的HTTP和反向代理web服务器,占用内存少 并发能力强 正向代理 在客户端代理 反向代理 在服务器端代理 负载均衡 负载均衡的内置策略有两种:轮...