![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA面试题
文章平均质量分 76
奋斗的小青年~
这个作者很懒,什么都没留下…
展开
-
Redis安全控制及解决方案
Redis安全控制一、缓存穿透?二、缓存击穿三、缓存雪崩一、缓存穿透?产生背景:缓存穿透使用不存在的key进行大量的高并发查询,导致缓存无法命中,每次缓存都要穿透到后端数据库查询,使得数据库的压力非常大,甚至导致数据库服务器压死。解决方案:1.接口层实现api限流、用户授权、id检查、黑名单和白名单等2.从缓存和数据库都获取不到数据的话,一样将数据库空值放入缓存中,设置30s有效期避免使用同一个id对数据库攻击压力大3.使用布隆过滤器二、缓存击穿产生背景:在高并发的情况下,当一个缓存key原创 2022-04-07 10:41:48 · 1255 阅读 · 0 评论 -
Java开发面试经验
Java开发面试两年经验一、反射是什么?二、Java如何遍历Map集合?一、反射是什么?很多人会说我直接new一个对象不就完了么,干嘛还用反射来获取对象。因为new属于静态编译,而反射属于动态编译,反射只有到运行时他才会去获得该对象的实例,从这点上可以看出反射的强大之处。Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。用一句话总结就是反射可原创 2022-04-06 10:28:47 · 2298 阅读 · 0 评论 -
Java两年工作经验面试
Java两年工作经验面试题目和心得一、ArrayList和LinkedList的区别?二、ArrayList的底层扩容机制是如何实现的?三、spring的aop底层实现方式有哪些?四、HashMap的底层实现原理?4.1 HashMap的几个重要知识点4.2 JDK7与JDK8的HashMap区别4.3 HashMap的容量与扩容机制五、MySQL的事务隔离级别有哪些?一、ArrayList和LinkedList的区别?ArrayList是基于动态数组的数据结构实现的,LinkedList是基于链表的原创 2022-03-22 11:13:08 · 2846 阅读 · 0 评论 -
TCP三次握手(白话文理解)
网络知识一、http响应码301和302的区别是什么?二、简述tcp和udp的区别?三、TCP三次握手过程四、TCP为什么要三次握手,两次不行吗?五、get和post请求的区别有哪些?六、TCP中粘包、拆包的问题一、http响应码301和302的区别是什么?301,302都代表着某个URL发生了转移区别:301:代表永久性转移302:代表暂时性转移二、简述tcp和udp的区别?tcp是面向连接的可靠协议,如打电话先拨号建立连接;udp是无连接的不可靠协议,发送数据前不需要建立连接。三、T原创 2022-03-14 17:30:55 · 373 阅读 · 0 评论 -
RabbitMQ基础
RabbitMQ面试题详解一、RabbitMQ的应用场景有哪些?二、消息的角色有哪些?三、RabbitMQ有哪些重要的组件?四、RabbitMQ中vhost的作用是什么?五、RabbitMQ如何发送消息?六、RabbitMQ怎样确保消息的稳定性?七、如何避免消息丢失?八、持久化有什么缺点?九、如何实现延迟消息队列?十、集群有什么用?十一、节点类型有哪些?十二、集群搭建需要注意什么?十三、集群中唯一的磁盘节点崩溃了会发生什么情况?十四、RabbitMQ 对集群节点的停止有顺序要求吗?十五、RabbitMQ 有原创 2022-03-14 11:53:47 · 84 阅读 · 0 评论