当前位置: 首页 > news >正文

java开发中间件学习记录(持续更新中~)

1 Redis

2JVM

3 java基础底层

4Mysql

5 spring

6 微服务

7.......(持续更新)

One:Redis篇

1:Redis

1.穿透 

1.1缓存穿透

1.1.1布隆过滤器 

1.2缓存击穿 

2:击穿 

1.3:缓存雪崩 

1.4:双写一致  

1.5.持久化(RDB,AOF)

 1.6删除策略

1.7淘汰策略 

1.8分布式锁 (setnx,redisson)

1.9Redis集群 

1.9.1主从复制 

1.9.2哨兵(Sentinel )

1.9.2.1脑裂 

1.9.3分片集群 

1.10 (为什么Redis这么快)I/O多路复用模型 

2:MYSQL

2.1如何定位慢查询 

2.2什么是索引 (了解索引吗)

2.3什么是聚集索引(聚簇索引)二级索引(非聚簇索引)

2.3.1回表查询 

2.4覆盖索引 

2.5MYSQL超大分页处理 

2.6索引创建的原则 

2.7索引失效 

2.7.1最左前缀法则 

 2.7.2范围查询右边列失效

2.7.3在索引列上进行运输操作 

2.7.4以%开头的模糊匹配

2.8sql优化 

2.9事务的特性 (ACID)

2.10并发事物带来的问题(脏读,不可重复读,幻读) 

2.11undo log,redo log 区别

2.12MVCC(多版本并发控制) 

2.13MYSQL主从同步原理 

2.14分库分表 

3: JVM:

3.1JVM组成部分 ,运行流程

3.2程序计数器 

3.3介绍一下Java堆

3.4虚拟机栈

3.4.1栈溢出 

3.5解释一下方法区

3.5.1常量池 

3.5.2运行时常量池 

3.6听说过直接内存吗:

3.7什么是类加载器,类加载器有哪些

3.8什么是双亲委派模型

3.9类加载的执行过程 

3.10对象什么时候被垃圾器回收

3.10.1可达性分析算法 

3.11垃圾回收算法有哪些

3.12JVM的分代回收

3.13有哪些垃圾回收器:

3.14 G1垃圾回收器

3.15强引用,软引用,弱引用,虚引用区别

3.16JVM调优的参数在哪里设置参数值

3.17JVM调优参数有哪些

3.18JVM调优工具

3.19java内存泄漏排查思路

3.20CPU飙高排查 

4:常见集合篇:

4.1List

4.1.1数字索引从0开始为什么

4.2ArrayList底层实现原理

4.3Arraylist扩容

4.4数字和list转换

4.5ArrayList和LinkedList的区别

4.6HashMap 

4.6.1红黑树 

4.6.2散列表 

4.7哈希冲突 

4.8HashMap的实现原理 

4.9HashMap的put方法具体流程

4.10HashMap的扩容机制

4.11hashMap的寻址公式

4.12hashmap多线程死循环

5:多线程:

5.1线程和进程的区别 

 5.2并行和并发的区别

5.3创建线程的方式

5.4runnable和callable(创建线程时) 的区别

5.5线程 run()和start()的区别

5.6线程包括那些状态(之间是如何转换的)

5.7多个线程之间的执行顺序

5.8 notify()和notifyAll()的区别

9:wait()和sleep()的区别

5.10如何停止一个运行的线程

2:

3:

5.11synchronized关键字的底层原理

5.12 锁升级

2:

5.13java内存模型

5.14CAS你知道吗

5.15volatile的理解 

简单说就是JVM为了对代码进行优化提高性能会在不影响结果的情况下把代码执行顺序改变,但多线程就可能会出现结果不对的问题

然后volatile原理就是加了一些屏障,使屏障后的代码一定不会比屏障前的代码先执行,从而实现有序性

5.16什么是AQS 

5.17ReentrantLock的实现原理 

5.18死锁产生的条件 

​​​​​​6:框架篇(spring( boot,mvc),mybatis)

7微服务:

8:消息中间件(MQ,Kafka)

9 设计模式

http://www.lryc.cn/news/438862.html

相关文章:

  • (批处理)无限弹窗cmd
  • 解决ubuntu 24.04 ibus出现卡死、高延迟问题
  • 减少脏页标记技术中处理时间的方法
  • 828华为云征文 | 华为云Flexusx与Docker技术融合,打造个性化WizNote服务
  • JavaScript事件处理和常用对象
  • Qt基础类05-尺寸类QSize
  • Vue 2中的this指向详解
  • 长业务事务的离线并发问题
  • 黑马程序员Java笔记整理(day01)
  • VMware Tools系列一:安装VMware Tools的作用
  • 使用大语言模型(LLM)修正小段乱码(Mojibake)为正常文本
  • C++ 访问限定符
  • 几种mfc140u.dll常见错误情况,以及mfc140u.dll文件修复的方法
  • [产品管理-21]:NPDP新产品开发 - 19 - 产品设计与开发工具 - 详细设计与规格定义
  • powershell@文件大小排序@文件夹磁盘占用分析
  • 详解c++多态---上
  • emWin5的图片半透明之旅
  • 【RabbitMQ 项目】项目概述
  • 【VSCode】VSCode Background 背景插件辅助窗口程序
  • gdb 前端:kdbg 安装使用
  • UDP_SOCKET编程实现
  • 【网络】高级IO——阻塞IO和非阻塞IO的实现
  • ASPICE培训:打造卓越的汽车软件开发能力
  • 基于Python的人工智能应用案例系列(2):分类
  • 演示:基于WPF自绘的中国省份、城市、区县矢量地图
  • 同时拥有独显和核显,怎么让应用程序选择使用哪个GPU?
  • C++八股文之面向对象篇
  • 点云深度学习系列:Sam2Point——基于提示的点云分割
  • mysql学习教程,从入门到精通,TOP 和MySQL LIMIT 子句(15)
  • 备战软考Day02-数据结构与算法