java技术整理1

一、基本

1.hashmap:

1.1 转红黑树条件:
a.数组长度大于等于64(默认16,要经过2次扩容--当达到16*默认扩容因子0.75=12就扩容)
b.链表长度大于8
1.2 hashmap先计算hash值,再用hash值计算下标。

2.sleep与await:

1.1 sleep是线程方法,await是object方法
1.2 sleep不会释放锁,而await会
1.3 sleep不依赖于同步器synchronize,而await要
1.4 sleep不需要被唤醒,而await要

3.hashtable与hashmap:

1.1 前者线程安全,而后者不是
1.2 前者不可以把null作为key,而后者可以,并放在第一个节点上
1.3 两者扩容因子默认都是0.75;前者初始容量为11,扩容是当前容量2+1;后者初始容量是16,扩容是当前容量2

4.cookie与session的区别:

前者cookie:
存放在客户端浏览器中;
大小受限制,单个不超过4K,一般1个站点最多保存20个;
String类型;
不太安全(可以加密)
后者sessiono:
存放在服务器中;
大小一般不受限制;
Key-Value(Object类型);
安全性更高;

二、JVM

4.用户线程与内存线程:

1.1 多对一:不需要切换,线程创建、调度、同步非常快;但是如果其中一个用户线程阻塞会造成其他线程无法执行,且无法像内核线程一样实现较完整的调度、优先级;
1.2 一对一:java的jvm几乎把所有对线程的操作都交给了系统内核操作,线程真正启动顺序不一定是按我们启动的顺序,会引起用户态和内核态的频繁切换;如果系统出现大量线程,回家降低系统性能。

5.运行时数据区:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/8dd33f49c77341658738c556a9f7f1c3.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

6.内存回收:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/79e7fd2ee5ea49a1acc0c269fa21c2bf.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

7.内存溢出:

1.1 栈溢出

![]( https://img-blog.csdnimg.cn/1c00f4a4ab3442108b7a373501fef703.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
1.2 堆溢出
》![在这里插入图片描述]( https://img-blog.csdnimg.cn/020a271fa3944512857b9e1cf98dcfa2.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
》第8行设置会在堆溢出会导出Damping日志

1.3 方法区溢出
1.4 本机直接内存溢出

8.内存泄漏:

1.1 不使用的内存,却没有被释放;
1.2 每一次请求进来或者每一次操作处理都分配了内存,却有部分不能回收(或未释放),随着请求越来越多,内存泄漏就会越来越严重,必然造成内存溢出。
1.3 内存泄漏一般是资源管理问题或者程序bug,内存溢出则是内存空间不足和内存泄漏的最终结果。

9.hotspot对象头包含哪些部分:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/8a63699b6e594d76a788ee120410559e.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

10.根据类分析对象的内存占用:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/da67dd4381d649a68ac39873d67874e1.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

11.jvm启动参数:在哪里配?

![在这里插入图片描述]( https://img-blog.csdnimg.cn/edcca4efe09242e78027844d39638e91.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

12.堆空间最大值设置:

13.G1垃圾收集器特点:

1.空间整合:哪块垃圾最多优先清理
![在这里插入图片描述]( https://img-blog.csdnimg.cn/44a8ec23934a440cad501c408ddebbf7.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
2.多线程+并发+可预测停顿
![在这里插入图片描述]( https://img-blog.csdnimg.cn/35440b4e28174f18b760c905138df52d.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

14.排查OOM的方法:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/e2eb678a4cad4acea55b4264be7402fb.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/95abc163b3c0420ea555b496fe86fbcb.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/2a1859150c87478e916a6cac33a9d447.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

14.jvm的相关命令工具:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/a77bbf4cf73c42a8a0dc126367505783.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/c9ef5f91ac3c4fe198f6d3858ef3bb19.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
在这里插入图片描述
![在这里插入图片描述]( https://img-blog.csdnimg.cn/ed08ad01f8764bf5b5816c6447b58020.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/4aa6da4250ca4b609062b5da6955a5a9.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_18,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/a4c318f36a174ee187acb8735758b7bf.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/ebc31a2a6b5c45788404da9cca68d0c4.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/27e04c416ad84646888097f2c000e9a8.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

15.java8默认垃圾收集器:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/ac260fc00623481e9dcf29c59cc9a15b.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

16.并行垃圾收集器:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/f273473d82824ae9a91deb1fb0311df1.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

17.swt:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/28ca9565bf064161bb589171fccd2044.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
安全点:方法调用、循环跳转、异常跳转;设置标志位,并不断轮询,主动停止。
![在这里插入图片描述]( https://img-blog.csdnimg.cn/46e81a8b439a4d28a918e572434a5d01.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/bd5aae59097c425ab58e648cbd621060.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/0e6485dfaf96487bb6331aa28325f67c.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

17.cpu使用率飙升,怎么排查?

先通过top命令找到cpu使用率高的线程;top -p 进程号;该界面输入H查找最高cpu的线程;执行jstack 进程号做dump输出线程信息; 同时根据线程的16进制找到对应的堆信息,然后再找出对应的代码
![在这里插入图片描述]( https://img-blog.csdnimg.cn/92ee4819fc3f4b0bb16a332a3da0b2d6.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/0bc97c95c12a41daacaf4e2777b3c4bd.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/6fef47b8f0a34047ae97865270684659.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
6、最后根据线程信息定位到具体代码

18.垃圾回收器的三色标记:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/df049f91adb84395a0f72478bf830fb4.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/e30ab74559c04085aa8bc22a072fb602.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/660942022e034505babcaa72d044dc11.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/ab4877a0e2b64349a391372141691491.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

19.类加载、类加载器:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/60bca1e0cbd644079ef52dd0a3979724.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/0ec94357b16f445182d27eec06fca6f4.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

三、消息中间件

1.为什么用rocketmq:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/52a8748776a94a59af99f938a3a1734f.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/7e075a4c57ce474eb86484ff30dee8ce.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

3.各种消息列队:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/935fd2f3d5be416799cd1a7776685e12.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/4fac9a5eb927436fbf79d51b068cfeff.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/a7ec701ad67548d78aec0c4fdc565a96.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/fcbde93ad9c24770a21dbd9c07dcdb9e.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
在这里插入图片描述
![在这里插入图片描述]( https://img-blog.csdnimg.cn/c2cede5422b64221b29491610111a0f2.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/21f45b8bdf044c83a68dd990c87f6fba.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

4.mq的消息重复:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/e9320afa374d4ba9a0dab32ef49d5eea.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/ad03fcc4b8b846d9b040f77d41ad765f.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

5.mq的消息重复:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/a47b7c7bcf7c418f8d42f6343ef1c2ab.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/4ab6d8f602714f738676744d3fa6e486.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)![在这里插入图片描述]( https://img-blog.csdnimg.cn/b0bfe836324b4fdc8ca4e592700ef16d.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

4.解决MQ重复消息:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/1b273d6934ee4ec9bd0f03d63a502479.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/44c3edaf61534c3381b3f2e7021b53c3.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/82e61684be634ec0be90aead9c94323f.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![ ]( https://img-blog.csdnimg.cn/e407eb2fc6ff4cb0b22e89a6ab14b30a.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_19,color_FFFFFF,t_70,g_se,x_16)

6.roketmq性能优化:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/e3639d4f3a0243a5a9c1a4be0de7faab.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![ ]( https://img-blog.csdnimg.cn/3522b8b3bb7b4931aeaac4829a4be6b6.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/0f13ffbe3f8343fa8aa3842179f1a752.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/97783b7954bd4a4a9d8b729be2956065.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/1f736cb48fa448189dff64bdd3b2dcb4.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/c6b6a977c5af4e648677b64f9aaae391.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

四、缓存

1.Redis概念:

Nosql,C编写,包含多种数据结构(字符串、列表、集合、散列表、有序集合),支持网络,基于内存还能持久化性能高效每秒可以处理超过10万次读写操作,遵守BSD协议,支持分布式易拓展、支持多种语言的k-v存储数据库。

2.Redis数据类型:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/8bd29467be0b49ac8f7c5c3664e5d7c1.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/eee4b084412c4c0d8086ece00c710dae.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/218aef35895e482ca058c4e094959642.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/95159344bb1747a9acbecaae42be5942.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/89ede3a09a2c40b68f8529e09f44dbfd.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/1159781792734fa88ef759e143f410e3.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/d5f18b90b9a6496286425ac6515ec272.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/77e41f13787e40998cc3b681ad077ef9.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/7be24744f55c41119720d545450a6479.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/6f280296ba37470fb0678ca862d60002.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

2.Redis与Memcached区别:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/983ff796aacc46bcb7bf85ac1dc731cc.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

3.Redis的应用场景:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/662c9b757f4546549479d668255bbed4.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/8e5e28385c194a36b9ca89749d4b444c.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

4.Redis为什么速度:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/23e454f45f8d48e29973a0c2b50a36fc.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

5.为什么用Redis而不用map/guava做缓存:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/49be3aba7fb3461bac0494cb5fb51595.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

6.Redis的持久化机制:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/0aa96cfa4fd0459aa91c45a87f79808d.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/4fcc26ced4864dc3b895e2082e277b2f.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

7.如何保持缓存与数据库双写时一致:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/c4386cced232461f83019ba162fe0c64.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/e576c5d4772d4451b1f7d28acea65da2.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述]( https://img-blog.csdnimg.cn/3b667cd3537b4d7ab3d8adac2fce5b7b.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

8.缓存穿透:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/006dbb825a3b4908bd97b1ddf48fe621.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

五、并发编程

1.线程与进程的区别:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/0cbf178b34774b339fd8e01602029d5c.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

2.多线程中的上下文切换:![在这里插入图片描述]( https://img-blog.csdnimg.cn/cc747de8d5dd49aca274926f6ad60f3e.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

3.java内存模型:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/4f8cf6a8c9144c6598d2e8ceaa094979.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

4.原子操作,JUC中原子操作类有哪些:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/debd7d23e04b4906a0fd2df8d311181a.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

5.CAS操作及缺点:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/28c5ccac12684942a37a1fd2640a877d.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

6.java中的volatile变量作用:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/1b1ac31152f642cf9c151351ed095e58.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

7.volatile和atomic变量区别:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/fd792e5034ed477bae5b4b538e2917fd.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

8.lock接口与synchronized区别:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/fc9f57f83ac040d48d9bf0a62829e2fb.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

9.乐观锁和悲观锁的理解及实现:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/751b66ddb9624d02bf32896a3e7bf8c8.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

10.死锁:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/05cf351dda184eabb2c4c14f173eaf5e.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

11.callable及future:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/d27e9e75a956480fbbd287f3f002930f.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

13.futureTask的底层原理:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/c0b4a82768814e61a150b903f36444cd.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

14.阻塞队列及实现原理:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/5e44f9a53aa4449595604fea445b5df1.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

15.不可变对象对并发应用的帮助

![在这里插入图片描述]( https://img-blog.csdnimg.cn/42e1c90297ea4ceab507113a39fcbb2c.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

16.生产消费者模型作用:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/80628e5fac1a49e5825c243a5ef2711b.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

17.copyOnWriteArrayList应用场景:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/39b8be6dd4af4c0eb5c44e2554227e8c.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

18.java单例:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/914fc6121af5463c99381d61e6b61612.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

19.双重检查锁定DCL的单例:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/25d2e1ef62db4203a76fbe10063a4da0.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

20.AQS:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/76e500f5d28948ebafa4b55d70053a90.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

wait、notify、notifyAll为什么不在thread类中:

在这里插入图片描述

六、分布式

1.分布式幂等性接口设计:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/2ae0eb4c49ca44bc89a02ad020199614.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

2.分布式session方案:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/d0189f4b975843e098378b82cf40ab07.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

在这里插入图片描述

3.分布式事务:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/ead281b6897041138cc0ab5fcaf21188.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

4.ZAB协议:

在这里插入图片描述

5.Zookeeper和Redis区别:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/dd5ef302f50f44bfbae468df45998bc4.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

6.Zookeepr节点宕机处理:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/ee0842f877a149fcbca656e4fe6a392b.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

7.Zookeeper四种类型数据节点:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/7ee083438bda465ab4c20f0347f19e06.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

8.Dubbo和cloud区别:

在这里插入图片描述

9.Dubbo协议:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/73e31b36953546e9bebf947fd0e23ca2.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

七、数据库

1.mysql存储引擎:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/679b2eb2832c4792b2dc45820bb46ef6.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

2.innodb与myisam区别:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/6555802c5651498793b13b1470742b4f.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

3.表设计字段选择:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/79ff8deae3104cd3aa848eb58c791ef3.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

4.mysql的varchar(M)最多存储数据:

在这里插入图片描述

5.事务基本特性:

在这里插入图片描述

6.事务并发引发问题:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/2cc9c71da173416fbed2a8533d492498.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

7.mysql索引:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/75e7b68126c6443abc634486624cfb35.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

8.三星索引:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/70cd92fd2b4744a89e67737e72af8245.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

9.innodb一颗b+树存放可以存放多少行数据:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/43d6a8e5bc6642b9981962ef4a60f1df.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

10.如何提高insert性能:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/7665aa5a6a0a43b8ae4112f54a6c685d.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

11.全局锁、共享锁、排他锁:

![在这里插入图片描述]( https://img-blog.csdnimg.cn/15cd9b211e2543eaba80de3120cde0b9.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

12.mysql死锁:![在这里插入图片描述]( https://img-blog.csdnimg.cn/9193f10c0bc844939afe36d500924cfe.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZm9seWg=,size_20,color_FFFFFF,t_70,g_se,x_16)

以上主要参考:https://www.bilibili.com/video/BV1vu41197Np?p=4&spm_id_from=pageDri

持续更新中......

随心所往,看见未来。Follow your heart,see night!

欢迎点赞、关注、留言,一起学习、交流!

posted @ 2022-06-25 23:13  folyh  阅读(31)  评论(0)    收藏  举报