Java知识点学习路线

点赞再看,养成习惯。一起学习,每天都有新的收获!

前言 

 Java需要学习的知识点挺多的,不管是面试复习还是平时学习,合理的路线挺重要的吧。为了便于以后回顾,花时间将重要的知识点整理出来。

一、集合知识点

1.HashMap

底层实现原理、扩容机制、Hash算法,为什么设计是2的幂次,重写equal为什么hashCode等。当然还有JDK1.7与1.8的区别

2.ConcurrentHashMap

底层实现原理,安全失败机制,JDK1.7与1.8的区别

3.ArrayList

实现原理,扩容机制,快速失败,JDK1.7与1.8的区别

4.LinkedList,LinkedHashMap、TreeMap、HashSet

需要了解一下怎么使用,像LinkedHashMap先进先出,TreeMap默认自然排序

二、多线程知识点

1.Synchronized

底层实现原理,声明对象,方法,代码块是如何实现的,以及锁的升级过程是怎样的

2.ThreadLocal

底层实现原理,了解它为什么会引起内存泄漏,以及了解Inheritable ThreadLocal,思考它用来解决什么问题?如何提高多线程并发性能?

3.Lock

ReentrantReadWriteLock读写锁的实现、ReentrantLock公平与非公平锁的实现、StampedLock实现原理,思考读写锁用在什么场景下?

4.volatile

它的作用,底层实现原理,MESI协议等

5.AQS

它的作用,底层实现原理等

6.Condition

它的作用,底层实现原理等

6.线程池

它有哪些类型线程池,实现方式,线程池的参数作用以及线程池的执行过程是怎样的,在项目中要怎么使用,思考线程有哪些状态等

7.JUC常用的类

CountDownLatch、CyclicBarrier、Samphore它们的实现原理

8.如何实现生产者-消费者模型

三、JVM知识点

1.内存模型

了解堆、本地栈、java栈、方法区、程序计数器的作用

2.类加载过程

加载,验证,准备,解析,初始化它们都做了什么?双亲委派模型的作用以及什么情况下会打破双亲委派模型?

3.垃圾回收机制

知道哪些内存需要被回收?什么时候回收?如何回收?有哪些回收算法?

4.垃圾收集器

重点了解CMS、G1它的作用,工作过程及优缺点等

5.逃逸分析

了解它有什么作用,什么情况下会发生

6.Full GC

了解它为什么会发生,以及如何排查解决

7.性能调优

了解一些常用的参数,以及它的作用

8.检测工具

了解jconsole、MAT、jvisualVM的使用

9.故障解决

了解内存泄漏、线程死锁、CPU100过高如何解决等

四、Spring知识点

1.Spring组件

了解它有哪些组件及作用

2.Bean

了解bean的作用域及其生命周期

3.Spring的启动流程

4.Spring IOC

了解它的作用及其初始化过程,依赖注入过程等,还有注入方式有哪些?

5.Spring AOP

了解它的作用及其实现原理,静态代理与动态代理的实现等

6.事务

了解事务的类型,传播行为,及实现原理等,还有事务失效的原因

7.设计模式

了解使用到哪些设计模式,工厂,单例,代理,策略,模板,观察

8.循环依赖

了解是如何解决的

9.父子容器

10.Spring其它概念点

了解切点,织入,通知等知识点

五、MySql知识点

1.事务的隔离级别

读未提交,读已提交,可重复读,序列化以及它们出现的问题,如脏读,幻读,不可重复读

2.索引

了解非聚集索引与聚集索引的区别,索引的类型及其数据结构,还有索引的维护和优化流程,思考最大可以创建多少索引?什么情况下会出现索引失效?

3.存储引擎

MyISAM与InnoDB的区别

4.锁机制

了解表锁,行锁,读写锁,意向锁,间隙锁,全局锁的作用及如何实现的

5.主从复制

了解它的原理,及其数据延迟

6.MVCC的作用

7.分库分表的实现

8.其它问题

死锁如何解决?id用完了会出现什么?sql语句优化?explain的使用,回表等

六、Redis知识点

1.数据结构

了解有哪些结构,作用及其它的底层实现原理

2.高可用模式

了解持久化RDB、AOF,主从,哨兵,集群的原理等

3.过期策略

了解定时,惰性,定期删除的实现等

4.淘汰机制

了解先进先出,最少使用,随机等机制

5.Redis为什么这么快

了解IO多路复用机制

6.其它问题

缓存穿透、击穿、雪崩的原因及解决,双写一致性,热点key问题,同时了解跳表,令牌,scan等知识点

七、RocketMQ消息队列

1.技术选型

ActiveMQ、RabbitMQ、RocketMQ、Kafka的有缺点

2.组成

了解nameServer、broker、provider、consumer的作用

3.工作流程

4.集群模式

了解单master、多master、多master多slave异步复制、多master多slave双写的原理

5.高可用

了解如何消费保证,了解同步刷盘,异步刷盘等

6.顺序消息

了解MessageQueueSelector的使用

7.分布式事务

了解最终一致,最大努力通知的实现

8.其它问题

消息丢失、消息重复、消息积压等解决

八、Dubbo知识点

1.包含的角色

2.工作过程

3.服务暴露过程

4.服务消费的过程

5.容错机制及其源码

了解failover、failback、failfast、failsafe、forking cluster、broadcast cluster如何实现

6.负载均衡策略及源码

了解随机,轮询,最少调用,一致性hash等

7.SPI机制实现

8.协议

了解dubbo、redis、http、webservice等

9.netty在Dubbo中的使用,相关源码

10.Zookeeper

了解选取,过半,预提交

九、Spring Cloud知识点

1.Eureka注册中心

它的作用,提供的功能、工作流程、自我保护机制、缓存机制,集群原理等

2.feign声明式调用

它的作用,工作过程,底层实现原理,高可用模式

3.config配置管理

它的作用,工作流程,底层实现原理,高可用模式

4.hystrix断路器

它的作用,容错和降级机制,底层实现的原理,如何实现限流机制

5.Zuul路由器

它的作用,filter有哪些方法,过滤器类型,内部的实现原理以及高可用模式

6.Ribbon负载均衡

它的作用,算法,实现原理等

十、Netty知识点

1.它的作用

2.BIO、AIO、NIO的区别

3、netty的组件

了解Channel、channelFuture、ChannelHandle、ChannelPipeline、EventLoop的作用

4.Netty的线程模型

了解Reactor模型,单线程池、多线程池、主从多线程的实现等

5.拆包和粘包的解决

了解固定长度的拆包器,行拆包器,分隔符拆包器,基于长度的拆包器,自定义实现的拆包器等

6.序列化协议

了解xml、json、fastjson、java它们的优缺点

7.Netty零拷贝的实现

8.Netty的三层架构

9.Netty的启动流程

10.阅读相关源码更好

十一、分布式知识点

1.分布式锁的实现

了解redis、数据库、zookeeper实现的优缺点

2.分布式事务

两段提交协议,三段提交协议,基于本地消息,基于消息队列一致性,TCC补偿型事务

3.理论知识

了解CAP、BASE理论

十二、常用算法

快排、堆排、贪心、二叉树、链表反转、动态规划等

十三、其它问题

1.并发下的解决方案,如秒杀、下单、支付等

2.ELK的使用

3.MongoDB

4.设计模式

5.待更新...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值