1.消息队列概述 2. 消息队列优点和问题 消息队列在应用中使用较多, 优点: 异步 服务解耦 流量削峰 问题: 消息重复消费 数据一致性 消息丢失 消息顺序 消息堆积 3.RabbitMq解决消息队列存在的问题
1.异步概述 1.1 什么是异步? 异步是一种编程模式,其中函数或方法的调用不需要等待操作完成即可返回控制权给调用
1.1 前言 近来,在学习缓存的过程中,发现Guava和Caffeine等本地缓存都是使用建造者模式来创建对象,因此针对建造者模式进行学习和实现。 1.2 目标 理解建造者模式与折叠构造函数模式以及JavaBean模式创建对象的区别 如何使用链式调用在没有调用某种参数的情况下使用默认构造参数 1.3
6.1 概述 RBAC(Role-Based Access Control,基于角色的访问控制)权限按钮控制是一种细粒度的权限管理方式,它允
1.1 缓存 Redis是常用的分布式缓存手段之一,除了分布式缓存还有本地缓存。两种缓存策略的目的都是提升数据访问速度以及减
12.1.StringBuffer和StringBuilder的底层数据结构 String在jdk1.8和StringBuilder以及StringBuffer都是以char[]实现,String在jdk1.9后是使用byte数组实现。 12.2 Bean如何在IOC中创建 加载xml文件 扫描注解
8.1Java基础 8.1.1 HashMap的put元素步骤 计算键的哈希值 检查容量并可能扩容 处理哈希冲突(链地址法或红黑树) 替换或谈价键值对 再次检查扩
9.1 Java基础 9.1.1 volatile的概述和原理 在Java中volatile是一个防止指令重排以及保证可见性的关键字。 如果我们将变量声明
10.1 线程池的使用 核心-》工作队列-》最大线程(核心小于最大) 10.2 自动装配starter自定义系统访问量 10.3 gateway过滤链流程(官网) 上图是Spring官网的Gateway请求流程图。 首先客户端请求进入到Gateway网关,Gateway的HandlerMapping
11.1 volatile中的本地内存与主内存分别是什么,区别是啥 11.2 线程和进程的内存区别(从栈和堆方面) 11.3 数据库的游标 11.4 查询到100万条数据如何优化 11.5 batchsize 11.6 数据库分区 11.7 Redis内存优化 11.8 缓存穿透 11.9 企业文化
1.异步化中为什么使用消息队列而不使用异步线程 解耦与松耦合: 消息队列:使服务提供者与服务消费者互不依赖,降低了系统的耦合性,并提高了系统
1.1 索引使用注意事项 (1)索引失效情况 在索引上做运算、函数、对索引列进行隐式转换(索引列式字符串,但Sql产讯未使用引号) 在索引列使用左模糊查询,全模糊查询 联合索引未使用最左匹配原则 (2)不适用场景 表数据量少不适合加索引 更新频繁的表不适合加索引 区分度低的字段不适合加索引(如性别)
1.SpringBoot注解 我的回答:@SpringBootApplication,@EnableAutoConfiguration、RestController、@Mapper、@Repository、@Service、@Controller、@Autowired、@Resource 标准回答:
1.工单的作用 2.ROCketMQ的内部结构以及确认机制 我:生产者、消息队列、消费者、topic 正确回答: NameServer:注册中心;管理和分发
1.ReentrantLock的实现原理 ReentrantLock是一个可重入的互斥锁,具有尝试非阻塞地获取锁、可中断的锁获取、支持公平性等特点。Ree
1.Mysql死锁如何解决 我的回答:可以通过删除锁来解决死锁 搜索答案: Mysql中的死锁是两个或多个事务等待对
1.常见的缓存策略有哪些,如何做到缓存(比如redis)与DB里的数据一致性,你们项目中用到了什么缓存系统,如何设计的。 缓存策略: Cache-Aside:最常见的缓存策略,当客户端请求数据时,程序会检查缓存中是否存在数据,若存在缓存命中(Cache Hit),若不存在(Cache Miss)则从
1.友机 1)SpringBoot启动流程解答:①首先从主启动类的mian()方法找到SpringApplication对象的run方法②进入run方法,
9.1 消息队列的使用场景。 消息队列在分布式场景中广泛应用,主要用于解决异步处理、解耦服务、流量削峰、数据一致性等多
9.1 数据库隔离级别有哪些,各自的含义是什么,MYSQL默认的隔离级别是是什么。 数据库的隔离级别是指多事务并发执行时导致的数据不
6.1 http1.0和http1.1有什么区别。 HTTP1.1相较于HTTP1.0增加了长连接、管道。 长连接:为解决HTTP/1.0发送一次请求,
5.1 多线程的几种实现方式,什么是线程安全。 多线程可以通过继承Thread类、实现Runnable接口、实现Callable接口,以及线程池等方式创建多线程。 线程安全是指多个线程访问类,不会因为多线程同时操作类导致数据不一致或其他错误行为。可通过同步代码块(synchronizes block
1.什么是Mybatis Mybatis是一个半ORM(对象关系映射)框架,内部封装JDBC,无需处理驱动加载、创建连接、创建statement等过程,只关注sql。 Mybatis使用Xml或注解配置和映射原生信息,将 POJO 映射成数据库中的记录,避免 JDBC 代码和手动设置参数以及获取结果
1.Spring 1.1 讲讲Spring加载流程(注册(将类注册到Spring容器中)、实例化(将注册到BeanDefinition的类实例化一个Bean)
Tomcat 1.1 简单讲讲tomcat结构,以及其类加载器流程,线程模型等。 Apache Tomcat是一个开源的Servlet和JavaServer Pages(JSP)容器
2.1 什么情况下会发生栈内存溢出。 递归调用过深:超过了JVM为线程(多个栈帧(局部变量、操作数栈、方法返回地址))分配的
1.1JAVA中的几种基本数据类型是什么,各自占用多少字节。 Java中有八种基本数据类型,分别是byte(1bit)、boolean(不占用)char(2bit)、short(2bit)、int(4bit)、long(8bit)、float(4bit)、double(8bit)。 1.2 Stri
1.Java基础 1.1JAVA中的几种基本数据类型是什么,各自占用多少字节。 Java中有八种基本数据类型,分别是byte(1bit)、b
在我们的代码开发中,Map键值对集合是我们经常使用的数据存储结构,他用着O(1)的查询时间复杂度,为我们的查询操作提供了优质
项目需要一个在线协同办公功能来进行消息实时推送,我采用SpringBoot结合Websocket来实现该功能。Websocket采用全双工
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号