移动时代、5G时代、物联网时代的大幕已经开启,它们对于高性能、高并发的开发知识和技术的要求抬升了Java工程师的学习台阶和面试门槛。就拿面试为例,以前高并发场景面试题只出现在BATJ一线大厂企业,现在覆盖到了跟Java开发有关的任何行业。
为此,我制定了12天高并发、分布式核心知识实践学习计划,以便更快掌握分布式、高并发与高性能之间的核心知识,计划表如下:
image实践12天之后,你会明白原理方面的基础知识非常重要,是大家在日常开发Java后台应用时解决实际问题的金钥匙。而实战更加促进我们对原理技术核心的理解,双向相交,能够更快的让我们往架构师的方向慢慢靠近。
原理部分:
- 熟悉高并发IO的底层原理
- 如何让单体Java应用支持百万级的高并发
- 清晰了解Reactor高性能模式
- 掌握线性池技术
- 明白Java Future和GuavaListenableFuture两种常用异步回调技术。
实战部分:
- 明白通过Netty来解决网络编程中的重点难题, 如ProtoBuf序列化问题半包问题
- 关于如何使用ZooKeeper来设计分布式ID生成器的部分会进行详细介绍并插入实战衔接
- 掌握分布式锁的基本原理、并完成一个ZooKeeper分布式锁的实战项目
- 通过springdata-redis来完成两种方式的数据分布式缓存
- 最后,通过CrazyIM项目介绍一个亿级流量的高并发IM系统模 型。这个高并发架构的系统模型不仅仅限于IM系统,通过简单的调整和适配,就可以应用于当前主流的Java后台系统。
适合学习的人群
- 对Java NIO、高性能IO、高并发编程感兴趣的院校学生。
- 需要学习Java高并发技术、高并发架构的初、中级Java工程师。
- 生产项目中需要用到Netty、Redis、ZooKeeper三大框架的架构师或者项目人员。
由于笔记的文档过大,不易全部展示内容,只取得核心图文并述,已被小编整理成完整的PDF,需要完整笔记的朋友(→点击我免费获取←)
第1天:Java NIO实践
第一天的目标是必须掌握:Java NIO中ByteBuffer、Channel两个重要组件的使用、使用文件Channel通道的ransferFrom方法完成高效率的文件复制、SocketChannel传输通道的read读取方法、write写入方法、Selector选择器的注册以及选择器的查询。
image image第2天:Reactor反应器模式实践
第二天的目标是必须掌握:单线程Reactor反应器模式的实现、多线程Reactor反应器模式。
image第3天:异步回调模式实践
第三天的目标是必须掌握:使用线程join方式,通过阻塞式异步调用的方式,实现泡茶喝的实例、使用FutureTask类和Callable接口,启动阻塞式的异步调用,并且获取异步线程的结果。
image第4天:Netty基础实践
第四天的目标是必须掌握:Netty中Handler处理器的生命周期、ByteBuf的基本使用、使用Netty,实现EchoServer回显服务器。
image第5天:解码器(Decoder)与编码器(Encoder)实践
第五天的目标是必须掌握:整数解码实践、整数相加的解码器实践、基于Head-Content协议的字符串分包解码器、多字段Head-Content协议数据包解析实践。
image第6天:JSON和ProtoBuf序列化实践
第六天的目标是必须掌握:JSON通信实践、ProtoBuf通信实践。
image第7~10天:基于Netty的单聊实战
第7—10天的目标是必须掌握:自定义ProtoBuf编码器/解码器、登录实践、单聊实践。
image第11天:ZooKeeper实践计划
第11天的目标是必须掌握:分布式ID生成器、使用ZK实现SnowFlake ID算法
image第12天:Redis实践计划
第12天的目标是必须掌握:使用RedisTemplate模板类完成Redis的缓存CRUD操作、、使用Spring缓存注解,完成Redis的缓存CRUD操作。需要完整笔记的朋友(→点击我免费获取←)
image
网友评论