前言
今天的分享主要是讲下这个 redis,什么是缓存雪崩、穿透和击穿。这三个技术问题是我们平时开发工作中和面试过程中,必须要会的知识点,因为目前的互联网系统没有几个不需要用到缓存的,只要用到缓存的话,就需要掌握这三个技术问题。
基本上无论哪个老哥去大厂面试,都会被问题这几个问题,所以作为一个互联网开发程序员来说,这个几个技术问题大家是需要搞懂的。而解决这几个问题的方案,通常有布隆过滤器,还有分布式锁。
布隆过滤器是1970年的一项技术,距今也有50年了,之所以能够应用至今,说明这项技术还是挺优秀的,它也是谷歌搜索引擎所采用的一项技术,非常的火。这里就不展开说这个布隆过滤器了,后续会专门用一篇文章来讲这个布隆过滤器和分布式锁。
接下来我们正式来说下什么是redis的缓存雪崩、穿透和击穿。
java基础
1.1java的8种基本数据类型装箱拆箱
1.2重写重载封装继承多态
1.3 Stack Queue
1.7 Concurrent包
1.8面向对象
1.9 String StringBuffer StringBuilder hashcode equ
1.10 java文件读取
1.11 Java反射
1.12 JDK NDK JRE JNI
1.13 static和final的区别
1.14 map, list, set区别
1.16 Session和COOKIE
1.19 10 NIO BIO AIO select epoll
1.20 ThreadLocal
1.22 finalize finalization finally
1.23 public private default protected
1.25 Object
1.26 equls和==的区别
1.27异常
1.28序列化
1.30 coparel口comorto1口
1.33接口和抽象类
1.34 Socket
1.35 Runtime类
1.36值传递与引用传递
1.37泛型?与的区别
1.38枚举类型字节码层面理解Enum
1.39 java注解类型
1.40字节流字符流
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nIoa50ce-1620815672909)(http://upload-images.jianshu.io/upload_images/20355010-ff4e3eb50e75d674)]
集合类Set
2.1 HashMap
2.2 CurrentHashMap
2.3 . Hashtable
2.4 hashtable和hashmap的区别
2.5 HashMap和ConCurrentHashMap区别
2.6 ConcurrentHashMap和HashTable区别
2.7 linkedHashMap
2.8 Linkedhashmap与hashmap的区别
2.9 HashSet
2.10 hashmap与hashset区别
2.11 Collections.sort内部原理
2.12 hash算法
2.13迭代器lterator Enumeration
2.14 LIST ArrayList, LinkedList和Vector的区别和实现原理
2.15快速失败(fail-fast)和安全失败(ail-safe)
锁volatile synchronized Lock ReentrantLock AQS C
3.1 .volatile和synchronized
3.2 CAS
3.3可重入锁ReentrantLock
3.3 ReentrantL ock和svnchronized区别
java多线程
4.1.如何创建线程?哪种好?
4.2.线程状态
4.3.一般线程和守护线程的区别
4.4. sleep wait yield notify notifyAll join
4.5中断线程
4.6多线程如何避免死锁
4,7多线程的好处以及问题
4.8多线程共用一个数据变量注意什么?
4.9线程通信方式
4.10线程池
4.11.线程中抛出异常怎么办
Java进阶ssh/ssm框架
Spring
Servlet
Struts
Hibernate
Redis
Tomcat
netty
Hadoop
Volley
Java 内存模型和垃圾回收
什么 是JMM内存模型? (JMM和内存区域划分不是一 -回事)
内存分区
GC算法(YGC and FGC)
垃圾收集器CMS
java类加载机制双亲委派
内存泄露
内存泄露的案例分析jvm调优
jstat jmap jps jinfo jconsole
JVM参数设置
内存分配与回收策略
面试问题
juc包
juc概况
Tools
List Set
Map
Queue
线程池
设计模式
什么是设计模式
常见的设计模式及其JDK中案例:
单例模式
设计模式六大原则
java动态代理
数据结构与算法
数据库
索引B树B+树
innoDB与MyISAM引擎区别
事务隔离级别(恶果:脏读幻读不可重复读)
数据库特性ACID
sql
5种连接left join. right join. inner join, full join
数据库范式
数据库连接池
DDL DML DCL
explain
分库分表
数据库****锁
其它问题
网络
HTTP
TCP UDP
计算机网络分层模型
IP
网络攻击
DNS浏览器中输入URL到页面加载的发生了什么
https ssl
操作系统
进程线程
死锁
同步异步阻塞非阻塞
操作系统CPU调度算法
内存管理方式(页存储段存储段页存储)
页面置换算法
IO种类IO的原理
进程打开同一个文件那么这两个进程得到的文件描述符(fd) 相同
select epoll
物理地址虚拟地址逻辑地址
Liunx命令、安全加密
部分内容展示
结尾
这不止是一份面试清单,更是一种”被期望的责任“,因为有无数个待面试者,希望从这篇文章中,找出通往期望公司的”钥匙“,所以上面每道选题都是结合我自身的经验于千万个面试题中经过艰辛的两周,一个题一个题筛选出来再次对好答案和格式做出来的,面试的答案也是再三斟酌,深怕误人子弟是小,影响他人仕途才是大过,也希望您能把这篇文章分享给更多的朋友,让他帮助更多的人,帮助他人,快乐自己,最后,感谢您的阅读。
结尾
[外链图片转存中…(img-WiQg72Lz-1620815672928)]
这不止是一份面试清单,更是一种”被期望的责任“,因为有无数个待面试者,希望从这篇文章中,找出通往期望公司的”钥匙“,所以上面每道选题都是结合我自身的经验于千万个面试题中经过艰辛的两周,一个题一个题筛选出来再次对好答案和格式做出来的,面试的答案也是再三斟酌,深怕误人子弟是小,影响他人仕途才是大过,也希望您能把这篇文章分享给更多的朋友,让他帮助更多的人,帮助他人,快乐自己,最后,感谢您的阅读。
由于细节内容实在太多啦,在这里我花了两周的时间把这些答案整理成一份文档了,在这里只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!