java高级特性 - 多线程基础(3)线程同步 提交中_吃透这份pdf,拿下阿里、腾讯等大厂心仪offer(Java岗)!...

前言

最近一位年前裸辞的朋友来找我诉苦,说因为疫情原因现在都在家吃老本。本想着年后就来找工作的,但是现在这个情况也不好找,而且很多公司也随着这次疫情面临着资金紧缺导致裁员严重的甚至倒闭,导致很多人失业找不到工作,就更加竞争压力大了

朋友说自己实力不过关,很多面试题都答不上,问我有没有之前的面试总结,于是我给了他这份(核心知识点)还有一些面试题总结。现在他拿到了offer,我觉着这个文档对大家应该也有帮助,现在分享给大家!

这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等,以下是文档内容的展示!

0bf70c83488b0b5a0e805bb52d9a6600.png

JVM相关

1.线程

2.JVM内存区域
2.1程序计数器
2.2虚拟机栈
2.3本地方法栈
2.4堆
2.5方法区

3.JVM运行时内存
3.1新生代
3.2老年代
3.3永久代

4.垃圾回收与算法
4.1如何确定垃圾
4.2标记清除算法
4.3复制算法
4.4标记整理算法
4.5分代收集算法

5.Java的4中引用类型
5.1强引用
5.2软引用
5.3弱引用
5.4虚引用

9155d9e33f6e83daea0a023584415609.png

6.GC分代收集算法VS分区收集算法
6.1分代收集算法
6.2分区收集算法

7.GC垃圾收集器
7.1serial垃圾收集器
7.2parnew垃圾收集器
7.3parallel scavenge收集器
7.4serial old收集器
7.5parallel old收集器
7.6CMS收集器

8.Java IO/NIO
8.1阻塞IO模型
8.2非阻塞IO模型
8.3多路复用IO模型
8.4新号驱动IO模型
8.5异步IO模型
8.6java IO包
8.7java NIO

9.JVM类加载机制
9.1加载
9.2验证
9.3准备
9.4解析
9.5符号引用
9.6直接引用
9.7类构造器
9.8双亲委派
9.9OSGI

c45c97277e76545886b0697b7e55b102.png

多线程并发相关

1.Java并发知识库

2.Java线程实现/创建方式

2.1继承thread类
2.2实现runnable接口
2.3基于线程池的方式

3.线程生命周期(状态)

3.1新建状态
3.2就绪状态
3.3运行状态
3.4阻塞状态
3.5线程死亡

4.终止线程的4种方式
4.1正常运行结束
4.2使用退出标记退出线程
4.3interrupt方法结束线程
4.4stop方法终止线程

dfa5f6b82d212c6329723135d38f06bb.png

5.sleep与wait区别

6.start与run区别

7.Java后台线程

8.Java锁
8.1乐观锁
8.2悲观锁
8.3自旋锁
8.4synchronize同步锁
8.5可重入锁(递归锁)
8.6公平锁与非公平锁
8.7共享锁与独占锁
8.8重量级锁
8.9轻量级锁

9.Java线程基本方法
9.1线程等待
9.2线程睡眠
9.3线程让步
9.4线程中断
9.5线程唤醒

317e965b287695eb43f62409d46fac65.png

10.线程上下文切换

10.1进程
10.2上下文
10.3寄存器
10.4程序计数器
10.5PCB“切换锁”

11.同步锁与死锁
11.1同步锁
11.2死锁

12.线程池原理
12.1线程复用
12.2线程池的组成
12.3拒绝策略

13.Java阻塞队列原理
13.1阻塞队列的主要方法
13.1java中的阻塞队列

6a9eecf4ffabf030165d294ee3d9832f.png

14.volatile关键字的作用(可见性、有序性、原子性)
14.1变量可见性
14.2进制重排序
14.3适用场景

15.Java中用到的线程调度

16.进程调度算法
16.1有限调度算法
16.2高优先权先调度算法
16.3基于时间片的轮转调度算法

17.什么是CAS(比较并交换-乐观锁机制-锁自旋)
17.1概念及特性
17.2原子包1
7.3ABA问题

18.什么是AQS(抽象的队列同步器)
18.1exclusive独占锁资源
18.2share共享资源
18.3同步器的实现是ABA核心
18.4reentrantreadwritelock实现独占锁和共享两种方式

8ad3682b023954efc8ec5e4c5784f166.png

Spring相关

1.Spring特点
1.1轻量级
1.2控制反转
1.3面向切面
1.4容器
1.5框架集合

2.Spring核心组件

3.Spring常用模块

4.Spring主要包

5.Spring常用注解

6.Spring的第三方结合

7.Spring IOC原理
7.1概念
7.2spring容器高层识图
7.3IOC容器实现

8.Spring Bean生命周期
8.1实例化
8.2IOC依赖注入
8.3setbeanname实现
8.4beanfactoryaware实现
8.5destroy过期自动清理阶段
8.6destroy-method自配置清理

9.Spring AOP原理
9.1概念
9.2AOP核心概念
9.3AOP两种代理方式

adea008f5e2f959d5200e8e698416dc4.png

10.Spring boot原理
10.1创建独立的spring应用程序
10.2嵌入的Tomcat无需部署WAR文件
10.3简化maven配置
10.4自动配置spring

11.JPA原理
11.1事务
11.2本地事务
11.3分布式事务
11.4两阶段提交

12.mybatis缓存
12.1mybatis的一级缓存原理
12.2二级缓存原理

13.Tomcat架构

e152a34c3e55b341958b6c8a6618069d.png

微服务相关

1.服务注册发现
1.1客户端注册
1.2第三方注册
1.3客户端发现
1.4服务端发现

2.API网关
2.1请求转发
2.2相应合并
2.3协议转换
2.4数据转换
2.5安全认证

3.配置中心
3.1zookeeper配置中心
3.2配置中心数据分类

4.事件调度(kafka)

5.服务跟踪(starter-sleuth)

6.服务熔(hystrix)

7.API管理

bc325826220cb4b6c560a05e89eb74c0.png

数据库相关

1.储存引擎
1.1概念
1.2B+树
1.3tokudb
1.4mylasm
1.5memory

2.索引
2.1常见索引原理
2.2限制索引的数目

3.数据库的三范式
3.1第一范式
3.2第二范式
3.3第三范式

4.存储过程

5.触发器

6.数据库并发策略
6.1乐观锁
6.2悲观锁
6.3时间戳

978999127139df75d7cc5699e413e236.png

7.数据库锁
7.1行级锁
7.2表级锁
7.3页级锁

8.基于Redis分布式锁

9.两阶段提交协议
9.1准备阶段
9.2提交阶段
9.3缺点

10三阶段提交协议
10.1cancommit阶段
10.2precommit阶段
10.3docommit阶段

11.CAP
11.1一致性
11.2可用性
11.3分区容忍性

6bf65d7909f7fc97c313516356d8793d.png

内容太多就不一一展示了,需要资料私信我回复 资料 免费获取!

资料免费领取!免费领取!免费领取!重要的事情说三遍!

希望领取资料的朋友能帮作者转发扩散一下,对我真的很重要~

最后祝大家工作顺利,升职加薪,面试都能通过,offer拿到手软,早日找到心仪的工作~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值