2026年Java高级工程师面试题及详细答案(完整版)_第1页
2026年Java高级工程师面试题及详细答案(完整版)_第2页
2026年Java高级工程师面试题及详细答案(完整版)_第3页
2026年Java高级工程师面试题及详细答案(完整版)_第4页
2026年Java高级工程师面试题及详细答案(完整版)_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年Java高级工程师面试题及详细答案(完整版)适用场景:Java高级工程师、后端开发工程师、架构师初级面试、社招进阶考核题库说明:本套题库整理2026年互联网、政企项目高频面试考点,涵盖Java基础进阶、JVM、并发编程、Spring全家桶、数据库、Redis、MQ、微服务、性能调优、实战问题等核心模块,所有答案均贴合企业实战场景,规避理论化空话,适配一线面试考核标准。一、Java基础进阶面试题(高频15题)1.简述==和equals的核心区别,以及String类的equals重写逻辑答案详解:==是运算符,对于基本数据类型,比较的是数值本身;对于引用数据类型,比较的是对象的内存地址。equals是Object类的方法,原生逻辑和==一致,也是比较对象内存地址。但String、Integer等包装类均重写了该方法,重写后不再比较地址,而是比较对象的实际内容。String重写equals的核心逻辑:先判断两个对象内存地址是否相同,相同直接返回true;再判断是否为String类型,非String直接返回false;最后逐位比对字符串字符,全部一致则返回true,否则返回false。2.String、StringBuilder、StringBuffer的区别及使用场景答案详解:1、安全性:String是不可变字符串,底层被final修饰,线程安全;StringBuffer方法加了synchronized锁,线程安全;StringBuilder无锁,线程不安全。2、性能:String每次拼接都会生成新对象,性能最差;StringBuilder无锁竞争,性能最优;StringBuffer加锁,性能略低。3、使用场景:少量字符串拼接、静态文本定义用String;单线程大量字符串拼接用StringBuilder;多线程环境下字符串拼接用StringBuffer。3.接口和抽象类的核心区别,JDK8、JDK9对接口的新特性答案详解:核心区别:抽象类可以有构造方法、成员变量、普通方法、抽象方法,支持单继承;接口无构造方法,JDK7及之前只能定义常量和抽象方法,支持多实现。版本新特性:JDK8允许接口定义默认方法和静态方法,解决了接口升级兼容问题;JDK9允许接口定义私有方法,用于内部代码复用,避免代码冗余。4.Java泛型的作用、泛型擦除原理,以及为什么泛型不支持基本数据类型答案详解:泛型核心作用:编译期类型检查,避免类型转换异常;消除强制类型转换,简化代码;提升代码复用性。泛型擦除:Java泛型是伪泛型,编译阶段生效,编译完成后会擦除泛型信息,统一替换为限定类型,无限定则替换为Object,运行时无法获取泛型类型。不支持基本类型原因:泛型擦除后会转为Object,基本数据类型无法向上转型为Object,只能使用对应的包装类。5.深拷贝和浅拷贝的区别,如何实现对象深拷贝答案详解:浅拷贝:复制对象本身,对象内的引用类型成员仅复制内存地址,新旧对象共享引用对象,修改一方会影响另一方。基本数据类型会直接复制数值,互不影响。深拷贝:完整复制对象及内部所有引用类型对象,新旧对象完全独立,修改任意一方互不干扰。实现方式:重写clone方法实现递归拷贝;通过序列化与反序列化实现;通过第三方工具类(如Jackson、Gson)序列化拷贝。6.final、finally、finalize的区别答案详解:final是修饰符:修饰变量表示常量,不可二次赋值;修饰方法不可重写;修饰类不可被继承。finally是代码块:用于异常捕获机制,无论代码是否抛出异常,最终都会执行,常用于释放资源。finalize是Object类方法:JVM垃圾回收前会调用该方法,用于对象资源回收,该方法不确定性高,JDK9已废弃,不推荐使用。7.Java枚举类的优势,枚举如何实现单例模式答案详解:枚举优势:线程安全、序列化安全、避免反射破坏单例、代码简洁、固定常量集合,可有效避免魔法值问题。枚举单例实现:枚举类仅有一个实例,JVM保证枚举实例的唯一性,通过定义单个枚举常量即可实现最简、最安全的单例模式,也是业界推荐的最优单例写法。8.异常体系中Error和Exception的区别,运行时异常和编译异常区别答案详解:Error是系统级严重错误,属于不可处理异常,如内存溢出、栈溢出、虚拟机异常,程序直接崩溃,无需捕获。Exception是程序可处理异常,分为编译时异常和运行时异常。编译时异常(受检异常):编译阶段必须处理,否则程序无法编译,如IO异常、SQL异常,必须try-catch或throws抛出。运行时异常(非受检异常):编译不报错,运行时触发,如空指针、数组越界、类型转换异常,可选择性捕获。9.Java8~Java17核心常用新特性(面试高频)答案详解:JDK8:Lambda表达式、Stream流、函数式接口、Optional、日期时间新API、默认方法。JDK9:模块系统、接口私有方法、快速创建集合方法。JDK11:HttpClient全新API、局部变量类型推断var、废弃大量过时API。JDK17:密封类、增强switch、ZGC优化、虚拟线程预览特性,是长期支持版本,企业主流升级版本。10.Optional的作用,如何正确使用避免空指针答案详解:Optional是JDK8推出的空值容器类,核心作用是规避空指针异常,替代繁琐的if空判断,让空值处理更优雅。正确用法:使用ofNullable创建对象;通过orElse、orElseGet设置默认值;通过ifPresent执行非空逻辑;避免直接使用get()方法,防止空值报错。11.Stream流的常用方法,以及并行流的使用注意事项答案详解:常用中间方法:filter过滤、map映射、sorted排序、distinct去重、limit截断、skip跳过。常用终止方法:collect收集、forEach遍历、count统计、max/min最值查找。并行流注意事项:并行流基于ForkJoinPool线程池,线程不安全;禁止在并行流中操作非线程安全集合;无需手动管理线程,适合无状态、纯计算场景。12.反射的原理、应用场景,以及反射的优缺点答案详解:反射原理:程序运行阶段,通过Class对象获取类的构造方法、成员变量、成员方法,动态调用类资源。应用场景:SpringIoC容器实例化对象、注解解析、框架底层适配、动态代理、ORM映射。优点:灵活性极高,可动态操作类,适配框架通用设计;缺点:破坏封装性、性能偏低、绕过编译校验,存在安全风险。13.动态代理两种实现方式的区别,JDK动态代理和Cglib代理答案详解:JDK动态代理:基于接口实现,只能代理实现接口的类,通过反射生成代理类,运行效率较高,JDK原生支持。Cglib代理:基于字节码增强,无需接口,可代理普通类、抽象类,通过继承目标类重写方法实现代理;缺点是无法代理被final修饰的类和方法。Spring默认规则:目标类有接口则用JDK代理,无接口则用Cglib代理。14.序列化的作用,transient关键字原理,序列化版本号的意义答案详解:序列化作用:将对象转为字节流,用于网络传输、文件持久化存储,反序列化可还原对象。transient修饰的成员变量,序列化时会被忽略,不会参与字节流转换,常用于临时变量、敏感数据屏蔽。序列化版本号serialVersionUID:用于版本兼容,类结构轻微修改后,版本号不变可正常反序列化,避免版本不一致导致的序列化异常。15.Java中HashMap的底层原理,JDK7和JDK8的核心优化答案详解:HashMap底层基于数组+链表实现,通过hash算法计算数组下标,解决哈希冲突采用链地址法。JDK7问题:底层数组+单向链表,哈希冲突严重时链表过长,查询效率极低;头插法扩容,高并发下易出现环形链表,引发死循环。JDK8核心优化:底层改为数组+链表+红黑树,链表长度大于8、数组容量大于64时转为红黑树,查询效率从O(n)优化为O(logn);改为尾插法,规避环形链表问题;优化hash扰动算法,减少哈希冲突。二、JVM虚拟机高频面试题(10题)1.JVM内存区域划分,各区域作用及是否线程私有答案详解:线程私有区域(随线程创建销毁):1、程序计数器:记录当前线程执行的字节码行号,唯一无内存溢出的区域;2、虚拟机栈:存储局部变量、方法栈帧、操作数栈,方法调用与执行依赖该区域;3、本地方法栈:支撑Native本地方法执行。线程共享区域(全局共享):1、堆内存:所有对象实例、数组的存储区域,垃圾回收的核心区域;2、方法区:存储类元数据、常量、静态变量、即时编译代码,JDK8后改为元空间,直接使用本地内存。2.堆内存结构划分,新生代、老年代比例及回收机制答案详解:堆内存分为新生代和老年代,默认比例1:2。新生代分为Eden区、FromSurvivor、ToSurvivor,默认比例8:1:1。回收机制:新生对象优先分配在Eden区;Eden满后触发MinorGC,存活对象移入Survivor区;对象在Survivor区熬过15次GC,晋升老年代;大对象直接进入老年代。老年代空间不足触发MajorGC,耗时远高于MinorGC。3.垃圾回收的判定算法,引用计数法和可达性分析算法区别答案详解:引用计数法:给对象添加引用计数器,引用+1,失效-1,计数器为0则回收;缺点是无法解决循环引用问题,JVM未采用。可达性分析算法:JVM主流回收算法,以GCRoots为起始节点,遍历引用链,不可达的对象判定为垃圾对象,可回收;完美解决循环引用问题。GCRoots包含:虚拟机栈引用对象、本地方法栈引用对象、方法区静态变量/常量引用对象。4.Java四种引用类型的区别及应用场景答案详解:强引用:默认引用方式,只要有强引用,对象永远不会被回收,日常业务代码常用。软引用:内存充足不回收,内存溢出前回收,适合缓存场景,如图片缓存、临时数据缓存。弱引用:下次GC无论内存是否充足,都会被回收,适合一次性缓存、避免内存泄漏场景。虚引用:最弱引用,无法获取对象实例,仅用于跟踪垃圾回收状态,主要用于NIO内存回收。5.常见垃圾回收器对比,G1和ZGC的核心优势答案详解:经典回收器:Serial单线程回收、Parallel多线程并行回收、CMS并发标记清除回收,均存在停顿时间长、内存碎片化问题。G1回收器:面向大内存、低停顿,将堆内存划分为多个分区,局部回收,可控制最大停顿时间,兼顾吞吐量和响应速度,JDK9后默认回收器。ZGC回收器:JDK11推出、JDK17优化,极致低延迟,停顿时间控制在10ms以内,支持TB级大内存,无内存碎片化,是目前企业高端服务首选回收器。6.CMS垃圾回收的流程及优缺点答案详解:四大流程:初始标记(短暂停顿,标记GCRoots直达对象)、并发标记(用户线程和GC线程并行,遍历引用链)、重新标记(短暂停顿,修正并发标记变动对象)、并发清除(并行回收垃圾)。优点:并发执行,降低用户线程停顿时间,响应速度快。缺点:产生内存碎片、无法处理浮动垃圾、CPU资源占用高。7.JVM类加载机制、双亲委派模型原理及优势答案详解:类加载分为五个阶段:加载、验证、准备、解析、初始化。双亲委派模型:类加载器收到加载请求,先向上委托父加载器加载,父加载器无法加载,自身再加载。启动类加载器→扩展类加载器→应用类加载器→自定义类加载器。核心优势:保证核心类安全,避免自定义类覆盖系统核心类;统一类加载规则,保证类全局唯一性。8.什么是内存泄漏,Java常见内存泄漏场景及排查思路答案详解:内存泄漏:对象已失效,无业务使用,但仍存在有效引用,GC无法回收,长期堆积导致内存溢出。常见场景:静态集合长期持有对象、未关闭IO流/数据库连接、线程池线程常驻持有引用、内部类持有外部类引用、缓存未设置过期策略。排查思路:通过jmap、jstat查看内存使用、GC情况;导出dump文件,通过MAT工具分析大对象、泄漏对象;定位代码引用源头,修复引用残留问题。9.OOM内存溢出常见类型及解决方案答案详解:1、堆内存溢出:对象创建过多、缓存无过期、内存泄漏;解决方案:调整堆参数、优化代码、清理无效缓存、修复泄漏代码。2、栈内存溢出:递归过深、方法嵌套过多;解决方案:优化递归逻辑、限制递归深度。3、元空间溢出:加载类过多、动态生成类频繁;解决方案:调大元空间大小、优化动态类生成逻辑。10.JVM调优核心参数及线上调优思路答案详解:核心参数:-Xms初始堆内存、-Xmx最大堆内存、-Xmn新生代内存、-XX:+UseG1GC启用G1回收器、-XX:MaxGCPauseMillis设置最大停顿时间。线上调优思路:优先观察GC频率、停顿时间、内存占用;针对频繁MinorGC优化新生代大小;针对FullGC排查内存泄漏、大对象问题;优先使用G1/ZGC低停顿回收器;避免堆内存过小或过大,平衡吞吐量和延迟。三、并发编程高频面试题(10题)1.线程的生命周期及五种状态转换答案详解:Java线程分为五大状态:新建、就绪、运行、阻塞、终止。状态转换:new新建后,调用start()进入就绪状态;获取CPU时间片进入运行状态;sleep、wait、同步锁阻塞进入阻塞状态;阻塞结束回归就绪状态;代码执行完毕或异常终止进入终止状态。2.sleep、wait、yield、join方法的核心区别答案详解:sleep:线程休眠,不释放锁,指定时间后自动唤醒,属于Thread方法。wait:线程等待,释放锁,需手动notify/notifyAll唤醒,属于Object方法,只能在同步代码块中使用。yield:让出CPU时间片,线程回归就绪状态,不释放锁,优先级相同线程可竞争执行。join:等待目标线程执行完毕,当前线程再继续执行,常用于线程顺序控制。3.synchronized和Lock锁的区别答案详解:1、底层:synchronized是JVM原生锁,底层依赖指令实现;Lock是代码层面锁,基于AQS实现。2、功能:synchronized锁机制固定,无法中断、无法超时;Lock支持可中断锁、超时锁、公平锁、读写锁,功能更灵活。3、释放方式:synchronized代码执行完毕或异常自动释放锁;Lock必须手动unlock释放,否则会死锁。4、性能:低并发下两者性能相近,高并发下Lock优化更好,吞吐量更高。4.AQS原理,核心参数及工作机制答案详解:AQS是Java并发包核心基础框架,全称抽象队列同步器,用于实现各类锁和同步工具。核心参数:state同步状态(0表示无锁,1表示加锁,大于1表示重入锁)、CLH双向阻塞队列(存储等待线程)。工作机制:线程尝试修改state加锁,成功则获取锁;失败则进入阻塞队列排队;持有锁的线程释放锁后,唤醒队列头部线程竞争锁。5.可重入锁、公平锁、读写锁的使用场景答案详解:可重入锁:同一线程可多次获取同一把锁,避免自身死锁,synchronized和ReentrantLock均为可重入锁,适用于嵌套锁场景。公平锁:线程按照请求顺序排队获取锁,无线程饥饿问题,适合对顺序有要求的场景;非公平锁吞吐量更高,是默认模式。读写锁:读锁共享、写锁独占,读多写少场景下大幅提升并发性能,如缓存查询、配置读取场景。6.volatile关键字的作用、原理及局限性答案详解:核心作用:保证变量可见性、禁止指令重排序,不保证原子性。原理:通过内存屏障实现,强制变量读写直接操作主内存,规避线程本地内存缓存数据不一致问题。局限性:无法保证复合操作原子性,如i++、自增赋值等操作,多线程下仍会出现线程安全问题,需配合锁使用。7.线程池核心参数、工作原理,拒绝策略详解答案详解:核心参数:核心线程数、最大线程数、空闲线程存活时间、任务队列、拒绝策略、线程工厂。工作原理:任务提交后,优先创建核心线程执行;核心线程满则放入队列;队列满则创建非核心线程;线程数达到最大值,触发拒绝策略。四大拒绝策略:AbortPolicy直接抛出异常(默认)、CallerRunsPolicy调用者线程执行任务、DiscardPolicy直接丢弃任务、DiscardOldestPolicy丢弃队列最旧任务,执行新任务。8.为什么不推荐使用Executors创建线程池答案详解:Executors创建的线程池存在资源耗尽风险:FixedThreadPool、SingleThreadPool队列无界,任务堆积会导致OOM;CachedThreadPool最大线程数无限制,高并发下创建大量线程,耗尽CPU资源。企业规范:手动通过ThreadPoolExecutor创建线程池,自定义核心参数、队列长度、拒绝策略,规避线上风险。9.CountDownLatch、CyclicBarrier、Semaphore的区别及场景答案详解:CountDownLatch:一次性计数器,线程等待所有任务完成后统一执行,不可重置,适用于主线程等待多子线程任务。CyclicBarrier:可循环屏障,多线程互相等待,全部到达屏障后统一执行,可重复使用,适用于分批任务并行执行。Semaphore:信号量,控制并发线程数量,限流场景专用,适用于接口限流、资源抢占控制。10.线程死锁的产生条件及如何避免、排查答案详解:死锁四大必要条件:互斥条件、请求保持条件、不可剥夺条件、循环等待条件,缺一不可。避免方案:统一锁获取顺序、设置锁超时时间、减少嵌套锁、使用可中断锁。排查方式:通过jstack命令查看线程堆栈,定位死锁线程及锁资源,分析代码锁竞争逻辑。四、Spring全家桶高频面试题(10题)1.SpringIoC容器原理、初始化流程答案详解:IoC即控制反转,将对象创建、依赖管理交由Spring容器负责,反转传统手动new对象的控制权,实现解耦。核心初始化流程:读取配置文件/注解扫描→解析Bean定义→注册Bean定义到注册表→实例化单例Bean→属性填充、依赖注入→初始化方法执行→Bean就绪,容器完成初始化。2.SpringBean的生命周期答案详解:实例化对象→属性赋值(依赖注入)→Bean前置处理(BeanPostProcessor前置方法)→初始化方法执行→Bean后置处理(BeanPostProcessor后置方法)→Bean就绪使用→容器关闭执行销毁方法。3.SpringBean的作用域区别答案详解:singleton单例(默认):整个容器仅一个Bean实例,容器初始化时创建。prototype多例:每次获取Bean都会创建新实例,容器不管理多例Bean生命周期。request:每次HTTP请求创建一个实例,请求结束销毁。session:每个会话创建一个实例,会话过期销毁。4.SpringAOP原理、核心概念及应用场景答案详解:AOP面向切面编程,基于动态代理实现,在不修改原有业务代码的前提下,对方法进行增强,实现代码解耦。核心概念:切点、通知(前置、后置、异常、环绕、最终通知)、切面、连接点。应用场景:日志记录、事务控制、权限校验、接口限流、性能监控、异常统一处理。5.Spring事务传播机制、隔离级别详解答案详解:七大传播机制核心常用:REQUIRED(默认,有事务加入,无则新建)、SUPPORTS(有则加入,无则非事务执行)、REQUIRES_NEW(新建独立事务,挂起原有事务)、NESTED(嵌套事务,依赖父事务)。四大隔离级别:读未提交、读已提交(解决脏读)、可重复读(解决不可重复读,MySQL默认)、串行化(解决幻读,性能最低)。6.Spring事务失效的常见场景答案详解:1、方法非public修饰,无法被AOP代理;2、内部调用本类事务方法,绕过代理;3、异常类型不匹配,未捕获运行时异常;4、手动捕获异常未抛出;5、传播机制配置不当;6、数据库引擎不支持事务(MyISAM)。7.SpringBoot自动配置原理答案详解:核心基于@EnableAutoConfiguration注解,通过SPI机制读取META-INF/spring.factories配置文件,加载各类自动配置类;结合条件注解,根据项目依赖、环境配置自动装配Bean,无需手动XML配置,实现开箱即用。8.SpringBootstarter的作用及自定义starter思路答案详解:starter是SpringBoot的自动化依赖包,整合依赖、自动配置,简化项目引入和配置流程。自定义starter:创建配置属性类、自动配置类、spring.factories配置文件,打包后其他项目引入即可自动装配。9.SpringMVC执行流程答案详解:客户端请求→DispatcherServlet前端控制器拦截→HandlerMapping匹配处理器→HandlerAdapter执行控制器方法→业务处理→返回ModelAndView→视图解析器解析视图→渲染页面/返回数据→响应客户端。10.Spring循环依赖产生原因及解决方案答案详解:产生原因:两个及以上Bean互相依赖对方,单例模式下属性注入导致循环引用。解决方案:Spring通过三级缓存解决单例Setter/字段注入循环依赖;无法解决构造器注入循环依赖,需调整代码结构、使用懒加载、拆分Bean。五、数据库与Redis高频面试题(10题)1.MySQL索引原理,B+树索引优势答案详解:MySQLInnodb引擎索引基于B+树实现,B+树非叶子节点仅存储索引键,叶子节点存储完整数据,且叶子节点双向链表串联。优势:树层级低,查询效率稳定;支持范围查询、排序、分页;磁盘IO次数少,读写性能优异;数据集中存储,缓存命中率高。2.聚簇索引和非聚簇索引的区别,回表查询原理答案详解:聚簇索引:主键索引,叶子节点存储整行数据,一张表仅有一个聚簇索引。非聚簇索引:普通索引、唯一索引,叶子节点存储主键值。回表查询:通过普通索引查询到主键后,再通过主键索引查询整行数据,需要两次索引查询,效率低于覆盖索引。3.覆盖索引、最左前缀原则、索引失效场景答案详解:覆盖索引:查询字段全部包含在索引中,无需回表,性能最优。最左前缀原则:联合索引遵循左侧优先匹配,查询条件需匹配索引最左字段,否则索引失效。常见索引失效:like%前缀模糊查询、索引列运算/函数操作、隐式类型转换、or无索引、notin/notexists、字段null判断。4.MySQL事务四大特性及并发问题答案详解:四大特性ACID:原子性、一致性、隔离性、持久性。并发事务三大问题:脏读(读取未提交数据)、不可重复读(同一事务多次查询结果不一致)、幻读(其他事务新增/删除数据,导致查询数量变化)。5.MVCC多版本并发控制原理答案详解:MVCC是InnoDB无锁读的核心机制,通过版本链、readView视图实现。每条数据记录保存多个历史版本,事务读取时根据readView匹配可见版本,保证读写不阻塞,解决脏读、不可重复读问题,提升并发性能。6.MySQL慢查询优化通用思路答案详解:开启慢查询日志,定位慢SQL;通过explain分析执行计划,查看索引、扫描行数、是否回表;优化索引,建立覆盖索引、遵循最左前缀;优化SQL语句,避免全表扫描、避免索引失效;拆分大SQL、分页优化、关联查询优化;分库分表解决大数据量瓶颈。7.Redis的数据结构及底层实现答案详解:常用五种数据结构:String(动态字符串)、List(双向链表)、Hash(字典)、Set(哈希表)、ZSet(跳跃表)。底层均做优化,适配不同数据场景,兼顾读写性能和内存占用,支持极高并发读写。8.Redis缓存穿透、击穿、雪崩解决方案答案详解:缓存穿透:查询不存在数据,直接访问数据库;解决方案:布隆过滤器、空值缓存、接口校验。缓存击穿:热点Key过期,大量请求打垮数据库;解决方案:互斥锁、热点Key永不过期、定时预热。缓存雪崩:大量Key同时过期/Redis宕机,请求集中打垮数据库;解决方案:过期时间随机打散、Redis集群高可用、服务熔断降级、多级缓存。9.Redis过期删除策略和内存淘汰策略答案详解:过期删除策略:惰性删除(访问时判断过期删除)+定期删除(定时抽样删除过期key),兼顾性能和内存。内存淘汰策略:内存满时触发,常用volatile-lru(过期key最近最少淘汰)、allkeys-lru(所有key最少淘汰),适配业务缓存场景。10.Redis分布式锁原理及Redisson优化答案详解:原生Redis锁:通过setnxex命令实现加锁,del释放锁,存在锁超时、误删、不可重入问题。Redisson优化:实现可重入锁、锁超时自动续期、公平锁、读写锁、锁可等待,解决原生锁各类缺陷,适配线上分布式业务场景。六、微服务与中间件高频面试题(8题)1.微服务和单体架构的区别及优缺点答案详解:单体架构:所有业务模块集成在一个项目,部署简单、调试方便;但耦合度高、迭代慢、扩容困难、单点故障影响全局。微服务架构:按业务拆分独立服务,独立开发、部署、扩容、迭代;耦合度低、扩展性强、故障隔离;缺点是架构复杂、运维成本高、分布式问题多(事务、一致性、网络延迟)。2.SpringCloud核心组件作用答案详解:Nacos:服务注册发现、配置中心;Gateway:网关路由、限流、拦截;Feign:声明式远程调用;Ribbon:客户端负载均衡;Sentinel:流量控制、熔断降级;Seata:分布式事务。3.网关的核心作用及常见限流方式答案详解:网关核心作用:统一入口、路由转发、权限校验、日志监控、限流熔断、请求过滤。常见限流:令牌桶限流、漏桶限流、IP限流、接口维度限流、用户维度限流。4.负载均衡的实现方式,Ribbon和Nacos负载均衡区别答案详解:负载均衡分为服务端负载均衡和客户端负载均

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论