![](https://img-blog.csdnimg.cn/cca6e7c6b9ed4fe4b48ae6d988857ca5.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
面试题
文章平均质量分 86
以实战为线索
柚几哥哥
用科技让复杂的世界更简单
展开
-
JVM高频面试题(2023最新版)
JVM内存区域、运行时数据区、堆和栈的区别、队列和栈的区别、对象的创建过程、 内存溢出异常、垃圾收集器、垃圾回收机制、垃圾回收算法、Serial收集器、ParNew收集器、Parallel Scavenge、Serial Old收集器、Parallel Old收集器、CMS收集器、G1收集器、ZGC、垃圾回收器工作流程、虚拟机类加载机制、JVM加载Class文件的原理机制、类加载器、双亲委派、JVM调优原创 2023-12-26 14:54:38 · 1404 阅读 · 0 评论 -
Redis高频面试题(2023最新版)
哨兵模式基于主从模式,可以自动切换主从,可用性高,但是每个节点存储的数据是一样的,浪费内存,还难以扩容,因此redis 3.0 之后加入了 Redis Cluster 集群(切片集群),也就是说每台redis服务器上存储的内容都不同,解决了扩容问题,它还可以保存大量数据,还提供了复制和故障转移功能。AOF这种追加指令的方式,会造成AOF文件越来越大,因此redis提供了AOF文件重写机制,当AOF文件的大小超过所设定的阈值的时候,redis就会对AOF的文件进行压缩,只保留可以恢复数据的最小指令集。原创 2023-10-23 00:10:36 · 217 阅读 · 0 评论 -
MQ高频面试题(2023最新版)
1、什么是消息队列?2、消息队列有哪些使用场景?(为什么使用消息队列)3、消息队列如何解决消息丢失问题?4、消息队列如何保证消息的顺序性?5、如何避免消息重复消费?6、如何解决幂等性问题?7、如何处理消息队列消息积压问题?8、MQ技术选型9、如何保证数据一致性,事务消息如何实现?10、RabbitMQ的消息可靠传输如何保证?11、RabbitMQ的消息如何实现路由?原创 2023-10-21 00:09:16 · 314 阅读 · 1 评论 -
并发编程高频面试题(2023最新版)
1、为什么要使用并发编程?3、并发编程三要素4、并行和并发5、线程和进程的区别6、如何在 Windows 和 Linux 上查找哪个线程cpu利用率最高?7、线程的创建方式8、Runnable和Callable的区别9、run和start的区别10、线程的状态11、线程调度算法12、线程同步以及线程调度相关的方法13、Java程序中怎么保证多线程的运行安全?14、synchronized15、volatile16、Lock体系17、线程池18、原子操作类原创 2023-10-21 00:05:54 · 241 阅读 · 0 评论 -
Spring 面试题总结(2023最新版)
Spring的理解,Spring的AOP理解,Spring的IOC的理解,Autowired和Resource的区别,Spring常用注解,SpringMVC常用注解,循环依赖,Spring Bean的生命周期,Spring支持几种作用域,Spring事务的隔离级别,Spring中的事务传播属性,Spring中事务实现方式,事务的本质,@Transactional的使用,SpringMVC的理解,Bootstrap.yml的作用,@Indexed注解,Spring的AOP理解,容器的启动流程,注解的原理原创 2023-05-06 14:54:21 · 2817 阅读 · 1 评论 -
MySQL 大厂面试题总结(2023最新版)
1、索引2、建表规约3、索引规约4、SQL语句5、什么是Buffer Pool6、InnoDB如何管理Page页7、 change Buffer 8、MySQL为什么改进LRU算法?9、使用索引一定可以提升效率吗?10、索引有哪几种类型?11、什么是索引下推?12、什么是自适应哈希索引?13、为什么LIKE以"%"开头索引会失效?14、InnoDB与MyISAM的区别15、三个范式16、MySQL的事务17、MySQL视图18、大表数据查询优化思路原创 2023-04-04 11:49:41 · 2946 阅读 · 0 评论 -
MySQL 索引的数据结构及优化实战
1、索引的数据结构为什么是B+Tree和HASH?2、 索引的类型3、 InnoDB存储引擎索引实现(聚集)4、MyISAM存储引擎索引实现(非聚集)5、联合索引6、EXPLAIN关键字7、索引失效的情况8、为什么主键要设置成自增的?9、建表上的优化 10、索引失效的案例11、建表规约(阿里巴巴开发手册)12、索引规约(阿里巴巴开发手册)13、SQL语句(阿里巴巴开发手册)原创 2023-04-01 17:38:24 · 1292 阅读 · 0 评论 -
MyBatis 源码解析 面试题总结
MyBatis1、工作原理2、MyBatis的缓存3、缓存扩展4、设计模式5、SqlSessionFactory的理解6、SqlSession的理解7、对MyBatis的理解8、分页的理解9、插件原理10、不同Mapper中的id是否可以相同?11、架构设计的理解12、传统JDBC开发13的不足13、数据源模块的设计14、事务模块的设计15、Mapper接口的设计理解16、Reflector模块的理解17、类型转换模块18、spring/SpringBoot整合MyBatis原创 2023-03-31 17:43:25 · 1064 阅读 · 0 评论 -
ConcurrentHashMap
ConcurrentHashMap在1.8做了哪些优化?ConcurrentHashMap的散列算法?ConcurrentHashMap初始化数组的流程?ConcurrentHashMap扩容的流程?ConcurrentHashMap读取数据的流程?ConcurrentHashMap中计数器的实现原创 2023-03-28 10:04:06 · 1955 阅读 · 0 评论 -
多线程面试题总结(2023最新版)
多线程实现方式?线程的状态?如何停止线程?sleep和wait方法的区别?并发编程三大特性?锁的分类?synchronize实现原理?AQS?ReentrantReadWriteLock?线程池的核心参数有哪些?线程池的状态?线程池的执行流程?线程池添加工作线程的流程?线程池为何要构建空任务的非核心线程?线程池使用完毕后为何必须要shutdown()?线程池添加工作线程的流程?ConcurrentHashMap的散列算法、扩容、初始化数组和读取数据的流程?原创 2023-03-28 09:58:08 · 1644 阅读 · 0 评论 -
GC Garbage Collectors
一、算法 引用计数法:reference count 根可达性算法:Root Searching 标记清除 Mark-Sweep:拷贝 Copying: 标记整理 Mark-Compact:二、垃圾收集器 Serial + Serial Old: Parallel Scavenge + Parallel Old:(ps+po)三色标记法算法:G1:ZGC Shenandoash (jdk12引入):原创 2023-03-03 15:14:26 · 543 阅读 · 0 评论 -
Jvm调优实战笔记
1、jps 查看所有java进程2、jinfo 进程号 查看该线程相关信息3、jstat 统计信息(数据跟踪信息)4、jstack 跟踪线程5、top6、jmap dashboard :(仪表盘) thread -b 寻找死锁redefine 定义class7、-XX:+HeadDumpOnOutOfMemoryError 8、-Xms20M 堆内存9、-Xmx20M 栈内存 10、-XX:+UseParallelGc 垃圾回收器原创 2023-03-02 14:38:34 · 419 阅读 · 0 评论 -
Java微服务 面试题
Java面试题大全免费下载地址:Java面试题大全.pdf-其它文档类资源-CSDN下载Nginx的作用http服务器:一般用于部署静态资源,和部署动态资源的服务器(如tomcat)分开部署,实现动静分离,达到服务器性能的最大化。 反向代理:代理后台服务器,通过配置实现灵活的路由。 负载均衡:将大量的用户请求,均衡的分配给多台服务器。反向代理正向代理和反向代理的区别:正向代理:代理客户端;(通过VPN代理服务器间接访问国外网站)反向代理:代理服务器。(业务部署到不同的服务器,通过N原创 2022-01-11 17:21:50 · 621 阅读 · 2 评论 -
Spring Boot面试题
概述什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。Spring Boot 有哪些优点?Spring Boot 主要有如下优点:1、容易上手,提升开发效率,为 Spring 开发提供一个更快、更广泛的入门体验。2、开箱即用,远离繁琐的配置。3、提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全..原创 2021-12-31 10:59:24 · 163 阅读 · 3 评论 -
Java框架面试题
什么是VSC版本控制系统,是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。常用vscCvs、svn、git集中式和分布式的区别集中式:必须有一台电脑作为服务器,每台电脑都把代码提交到服务器上,再从服务器下载代码。如果网络出现问题或服务器宕机,系统就不能使用了。分布式:分布式VCS没有中央服务器,每台电脑都可以保存代码版本,没有网络的时候可以先提交到本地,每台电脑也都可以作为服务器,其他电脑可以从作为服务器的电脑上克隆代码,可见分布式系统比集中式系统的安全性高很多。.原创 2021-12-29 18:58:59 · 644 阅读 · 2 评论 -
JavaWeb 经典面试题整理
一、类加载器的种类Bootstrap ClassLoader 跟类加载器 Extension ClassLoader 拓展类加载器 Application ClassLoader 应用程序类加载器 Bootstrap ClassLoader 启动类加载器双亲委派 :意义:避免重复加载,避免不安全因素概念:即一个类加载器在加载类时,先把这个请求委托给自己的父类加载器去执行, 如果父类加载器还存在父类加载器,就继续向上委托,直到顶层的启动类加载器。 如果父类加载器能够完成类加载,就成功.原创 2021-10-30 11:19:09 · 200 阅读 · 2 评论 -
Java中局部内部类访问该方法当中的局部变量,这个局部变量为什么是final?
注意:虽然这里没有写final 但是其实是高版本的JDK,帮你是省略了,底层还是会加上final,局部变量存在于占内存空间。 问题是 堆的内容,需要去调用栈的内容。 谁的生命周期长呢? 堆的生命周期长。栈的生命周期短。 生命周期长的想要去访问生命周期短的。 这里将栈当中的内容,定义为final。内存位置就会改变。 常量池里面保留副本。 保留在常量池里面的内容,必须是final修饰的常量。...原创 2021-07-26 20:33:46 · 188 阅读 · 0 评论