![](https://img-blog.csdnimg.cn/c920e19a4ee840edb516ea50c447450f.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java面试题
文章平均质量分 85
1、基础知识
2、常见的问题
Mr.Aholic
全栈开发工程师 主java后端。喜欢旅游,已经旅游的城市地点:河南老家、广州、佛山、深圳、上海、山西、长沙、张家界、武汉、新疆-乌鲁木齐、新疆-吐鲁番、云南-昆明,郑州等。备考明年的 高级系统分析师 和 系统架构师【2022届毕业生---软件工程专业】
展开
-
什么是 CAS(自旋锁)? 它的优缺点? 如何使用CAS实现一把锁?
CAS没有获取到锁的线程是不会阻塞的,通过循环控制一直不断的获取锁。CAS: Compare and Swap,翻译成比较并交换。执行函数 CAS(V,E,N)CAS 有 3 个操作数,内存值 V,旧的预期值 E,要修改的新值 N。当且仅当预期值 E 和内存值 V 相同时,将内存值 V 修改为 N,否则什么都不做Cas 是通过硬件指令,保证原子性Java 是通过 unsafe jni 技术。原创 2023-07-17 20:27:30 · 2713 阅读 · 0 评论 -
2022年整理最详细的java面试题、掌握这一套八股文、面试基础不成问题[吐血整理、纯手撸]
2022年最新最详细的java八股文面试题。掌握了、面试基础不成问题原创 2022-08-04 17:07:43 · 1919 阅读 · 16 评论 -
一天一道Java面试题----第十二天(如何实现接口幂等性)
这里是参考B站上的大佬做的面试题笔记。大家也可以去看视频讲解!!!文章目录1、如何实现接口幂等性1、如何实现接口幂等性唯一id。每次操作,都根据操作和内容生成唯一的id,在执行之前先判断id是否存在,如果不存在则执行后续操作,并且保存到数据库或者redis等。服务端提供发送token的接口,业务调用接口前先获取token,然后调用业务逻辑接口请求时,把token携带过去,服务器判断token是否存在redis中,存在表示第一次请求,可以继续执行业务,执行业务完成后,最后需要把redis中的toke原创 2021-12-06 21:55:28 · 286 阅读 · 4 评论 -
一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
这里是参考B站上的大佬做的面试题笔记。大家也可以去看视频讲解!!!文章目录1、分布式架构下,Session共享有什么方案2、简述你对RPC、RMI的理解3、分布式id生成方案4、分布式锁解决方案5、如何实现接口幂等性1、分布式架构下,Session共享有什么方案1、采用无服务状态,抛弃session2、存入cookie(有安全风险)3、服务器之间进行session同步,这样可以保证每个服务器上都有全部的session信息,不过当服务器数量比较多的时候,同步是会有延迟甚至同步失败;4、IP绑定策略原创 2021-12-05 14:37:39 · 640 阅读 · 1 评论 -
一天五道Java面试题----第十天(简述Redis事务实现--------->负载均衡算法、类型)
这里是参考B站上的大佬做的面试题笔记。大家也可以去看视频讲解!!!文章目录1、简述Redis事务实现2、redis集群方案3、redis主从复制的核心原理4、CAP理论,BASE理论5、负载均衡算法、类型1、简述Redis事务实现1、事务开始MULTI命令的执行,标识着一个事务的开始。MULTI命令会将客户端状态的flag属性中打开REDIS_MULTI标识来完成的。2、命令入队当一个客户端切换到事务状态后,服务器会根据这个客户端发送来的命令来执行不同的操作。如果客户端发送的命令为MULTI、E原创 2021-12-04 11:58:26 · 1089 阅读 · 2 评论 -
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这里是参考B站上的大佬做的面试题笔记。大家也可以去看视频讲解!!!文章目录1、简述MySQL中索引类型对数据库的性能的影响2、RDB和AOF机制3、Redis的过期键的删除策略4、Redis线程模型,单线程为什么这么快5、缓存雪崩、缓存穿透、缓存击穿1、简述MySQL中索引类型对数据库的性能的影响普通索引:允许被索引的数据列包含重复的数据唯一索引:可以保证数据记录的唯一性主键:是一种特殊的唯一索引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字primary ke原创 2021-12-03 10:22:50 · 898 阅读 · 1 评论 -
一天五道Java面试题----第八天(怎么处理慢查询--------->简述Myisam和innodb的区别)
这里是参考B站上的大佬做的面试题笔记。大家也可以去看视频讲解!!!文章目录1、怎么处理慢查询2、ACID靠什么保证的3、什么是MVCC4、mysql主从同步原理5、简述Myisam和innodb的区别1、怎么处理慢查询关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?在业务系统中,除了使用主键进行的查询,其他的都会在测试库上测试其耗时,慢查询的统计主要由运维在做,会定期将业务中的慢查询反馈给我们。慢查询的优化首先要搞明白慢的原因是什么? 是查询条件没有名中索引? 是load了原创 2021-12-02 14:35:42 · 896 阅读 · 3 评论 -
一天五道Java面试题----第七天(mysql索引结构,各自的优劣--------->事务的基本特性和隔离级别)
这里是参考B站上的大佬做的面试题笔记。大家也可以去看视频讲解!!!文章目录1 、mysql索引结构,各自的优劣2 、索引的设计原则3 、mysql锁的类型有哪些4 、mysql执行计划怎么看5 、事务的基本特性和隔离级别1 、mysql索引结构,各自的优劣索引的数据的数据结构和具体存储引擎的实现有关,在MySQL中使用较多的索引有hash索引,B+树索引等,innoDB存储引擎的默认索引实现为:B+树索引。对于哈希索引来说,底层的数据结构就是哈希表,因此在绝大多数需求为单条记录查询的时候,可以选择哈希原创 2021-12-01 11:20:14 · 592 阅读 · 2 评论 -
一天五道Java面试题----第六天(1)
这里是参考B站上的大佬做的面试题笔记。大家也可以去看视频讲解!!!文章目录1、mybatis和hibernate的对比2 、#{}和${}的区别3 、mybatis插件运行原理及开发流程4 、索引的基本原理5 、mysql聚簇和非聚簇索引的区别1、mybatis和hibernate的对比面向对象SQL和ORM的争论,永远都不会终止开发速度的对比:Hibernate的真正掌握要比Mybatis难些。Mybatis框架相对简单容易上手,但也相对简陋些。比起两者的开发速度,不仅仅要考虑到两者的特性原创 2021-11-30 11:11:59 · 903 阅读 · 1 评论 -
一天十道Java面试题----第五天(spring的事务传播机制------>mybatis的优缺点)
这里是参考B站上的大佬做的面试题笔记。大家也可以去看视频讲解!!!文章目录41、spring的事务传播机制42 、spring事务什么时候会失效43 、什么的是bean的自动装配、有哪些方式?44 、spring 、 springmvc 、springboot的区别45 、springmvc的工作流程46 、Spring MVC的主要组件47 、springboot自动配置原理48 、 如何理解springboot的starter49 、 什么是嵌入式服务器,为什么使用嵌入式服务器50、mybatis的优原创 2021-11-29 11:21:48 · 708 阅读 · 1 评论 -
一天十道Java面试题----第四天(线程池复用的原理------>spring事务的实现方式原理以及隔离级别)
这里是参考B站上的大佬做的面试题笔记。大家也可以去看视频讲解!!!文章目录31、线程池复用的原理32、spring是什么?33、对Aop的理解34、对IOC的理解35、BeanFactory和ApplicationContext有什么什么区别?36、简述spring bean的生命周期37、spring支持的几种bean作用域38、Spring框架中的单例Bean是线程安全的吗39、spring框架中使用了哪些设计模式及应用场景40、spring事务的实现方式原理以及隔离级别31、线程池复用的原理原创 2021-11-28 11:40:08 · 1120 阅读 · 4 评论 -
一天十道Java面试题----第三天(对线程安全的理解------>线程池中阻塞队列的作用)
这里是参考B站上的大佬做的面试题笔记。大家也可以去看视频讲解!!!文章目录21、对线程安全的理解22、Thread和Runnable23、说说你对守护线程的理解24、ThreadLocal的原理的使用场景25、ThreadLocal内存泄漏问题,如何避免26、并发、并行、串行27、并发三大特性28、为什么使用线程池、参数解释29、线程池处理流程30、线程池中阻塞队列的作用?为什么时先添加队列而不是先创建最大线程?21、对线程安全的理解22、Thread和Runnable23、说说你对守护线程的理解原创 2021-11-27 12:19:51 · 929 阅读 · 3 评论 -
一天十道Java面试题----第二天(HashMap和hashTable的区别--------》sleep、wait、join)
这里是参考B站上的大佬做的面试题笔记。大家也可以去看视频讲解!!!文章目录11、HashMap和HashTable的区别及底层实现12、ConcurrentHashMap原理简述,jdk7和jdk8的区别13、如何实现一个IOC容器14、什么是字节码,作用是什么15、java类加载器有哪些16、双亲委派模型17、java中的异常体系18、GC如何判断对象可以被回收19、线程的生命周期及状态20、sleep、wait、join、yield的区别11、HashMap和HashTable的区别及底层实现区别原创 2021-11-26 11:09:38 · 1215 阅读 · 4 评论 -
一天十道Java面试题----第一天(面向对象-------》ArrayList和LinkedList)
这里是参考B站上的大佬做的面试题笔记。大家也可以去看视频讲解!!!文章目录1、面向对象2、JDK、JRE、JVM区别和联系3、==和equals4、final5、String 、StringBuffer、StringBuilder区别及使用场景6、重载和重写的区别7、接口和抽象类8、List和Set9、hashcode和equals10、ArrayList和Linkedlist1、面向对象1.1、 什么是面向对象?对比面向过程、是两种不同的处理问题的角度面向过程更注重事情的没一个步骤及顺序,面向对原创 2021-11-25 14:35:40 · 1207 阅读 · 1 评论