网站首页 > 博客文章 正文
持续更新。平时多问题为什么,怎么样。3W1H方法可以帮助我们快速掌握知识点。
java
- 基础
1) 重写equals时为什么要重写hashCode
HashMap用的需要用hashCode
2)反射
3)labmda表达式原理,使用注意事项
- JVM
1)JVM内存模型。
PC、虚拟机栈、本地方法栈和堆。
线程私有: PC、虚拟机栈、本地方法栈
共享:堆
2)堆模型。
常量,静态变量
3)对象在年轻代和老年代中如何轮转
4)CMS
1)CMS4个阶段:初始标记,并行标记,重新标记,清除
初始标记:只标记GC ROOT直接关联的对象,速度快。
并行标记: 和用户线程一起运行,根据GCROOT跟踪。
重新标记:因并行的用户线程产生的变动的对象。
2)2次STW。为什么要2次STW。分别是初始化标记和重新标记 需要STW。重新标记,主要是标记并行标记阶段产生变动的对象
- 集合
concurrentHashMap 原理。CAS 和sycnronized都用在什么地方。锁都力度。
多线程并发
1) 线程池-参数
2)线程池-注意事项
4个线程池使用的队列大小都是Integer.MAX_VALUE。需要注意OOM
3)ThreadLocal
原理:线程本地变量。
- InheritThreadLocal
使用场景:1)透传变量,保存通过接口接受到的用户id,2)PageHelper中分页信息就是用的ThreadLocal
使用注意:避免内存泄露,使用完之后需要remove删除。
Web框架-Spring
1) AOP原理,使用场景,实际业务场景。
原理:动态代理。jdk的proxy和cglib。两个原理,jdk注意针对实现接口的对象进行代理。cglib即可针对接口的也可以对没有接口的对象进行代理。cglib使用的字节码增强技术。
场景:Spring中的事务。
实际业务场景:
2)Bean加载原理
中间件-rocketMQ
1)如何保障消息不丢。消息重复
producer使用同步发送
broker分片,同步刷盘,同步给salve。
consumer 消费成功之后再提交offset。
业务自己提供幂等ID
2)系统高可用
3)broker消息存储模型
4)tag过滤模型
Mysql
1)索引模型。
B+树,叶子节点组成的是一个双向链表,在范围查询的时候,特别好用。
2)redolog、undolog,binlog
3)mysql优化。
4)主键索引和普通索引哪个更快,为什么
缓存-Redis
1) 底层数据类型。
2)分布式锁原理
- 使用setNX +设定超时时间。setNX成功返回1 setNx返回0.
加锁:
锁释放:
锁超时:
锁续约:
猜你喜欢
- 2024-09-26 PageHelper在SpringBoot的@PostConstruct中不生效
- 2024-09-26 pageHelper-v4.2源码阅读-分页是怎么实现运行的?
- 2024-09-26 面试官:精通 Mybatis?请回答下这几个问题(二)
- 2024-09-26 Mybatis分页插件-PageHelper(mybatis分页插件的缺点)
- 2024-09-26 Mybatis面试题(mybatis面试题csdn)
- 2024-09-26 MyBatis源码分享篇---Plugin插件原理
- 2024-09-26 网易工程师推荐的开源神器,一键解决Mybatis分页问题
- 2024-09-26 PageHelper循环依赖的处理(循环依赖aop)
- 2024-09-26 Spring AOP 实现动态数据源(读写分离),底层原理是什么
- 2024-09-26 PageHelper分页后,对list操作会导致分页无效
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)