Contents
  1. 1. plan
  2. 2. review进度
  3. 3. detail
    1. 3.1. NIO、Dubbo、Netty
    2. 3.2. JUC、JVM、多线程、内存模型学习计划
    3. 3.3. JUC、锁、内存模型
    4. 3.4. JVM相关
    5. 3.5. rocketmq
    6. 3.6. Redis
    7. 3.7. 秒杀

plan

  • Dubbo 10月份完成
  • mysql相关 11月份完成
  • TCP、算法和数据结构、Spring原理、设计模式、面试题 2月份完成

review进度

  • 2018-9-20 Netty源码分析和高性能分析以及总结
  • 2018-9-19 Socket编程AIO、netty的NIO实现聊天室、解决字符串的粘包和拆包工具类、实现模型
  • 2018-9-18 Socket编程NIO
  • 2018-9-17 IO/NIO/AIO的文件操作的对比、以及各自的核心类库。BIO的Socket编程
  • 2018-9-14 synchronized的实现原理(偏向锁、轻量级锁、自旋锁、重量级锁)\Synicazer的实现原理(cheenssy)和Reentant的区别、线程池相关类的继承关系、数据库连接池的管理和参数配置
  • 2018-9-13 生产消费模式(4种实现方式:synchronized、ReentrantLock、ArrayBlockingQueue、LinkedBlockingQueue)和阻塞队列的实现原理(如何实现阻塞管理和线程安全)
  • 2018-9-11 ThreadLocal的实现和原理
  • 2018-9-6 4种常见的线程池(FixedThreadPool、SingleThreadPool、CachedThreadPool、ScheduledThreadPool)、Reentrant的公平锁、非公平锁的加锁、解锁原理
  • 2018-9-5 4种BlockingQueue和实现原理(Array、Linked、PriorityBlockingQueue、SynchronousQueue)
  • 2018-9-4 JVM 方法区的存储对象(常量池和final的用法)、ClassLoader的高级用法(热加载、指定class文件加载路径)、JVM GC异常排查的方式(jconsole工具、jstat命令、gc日志分析工具)
  • 2018-9-3 秒杀架构(感觉我的方案比 CorssOverJie好多了),一个完整的流程,JSP–>nginx–>控制层–>MQ–>消费端–>数据库,完整的一个流程
  • 2018.8.31 各种原理都过了一遍哈哈哈 基本告一段落
  • 2018.8.29 rocketmq 消息的6种方式的发送和接收(同步发送、异步发送、oneWay发送、顺序发送和接收、批量发送、延时发送)
  • 2018.8.28 rocketmq 集群2Master 的linux上的安装和使用、 简单的生产者生产消息 –> 消费者消费消息的 Demo跑通,结合可视化的 NG console一起使用
  • 2018.8.27 rocketmq 单机的linux上的安装
  • 2018.8.20 –8.24 准备二面,刷了Spring原理、分布式事务、分布式锁、项目之前碰到的问题、JUC常用类、多线程的锁机制和常用方法
  • 2018.8.10–8.24 redis的持久化AOF和RDB的配置和原理、事务、分布式锁(悲观锁、乐观锁)、消息队列的实现、集群的管理
  • 2018.8.6 – 2018.8.9 ZK和集群的搭建、存储结构、分布式锁、队列、配置中心、集群、监听、dubbo中的运用
  • 2018.8.1 –2018.8.5 HashMap1.8和ConcurrentHashMap 1.7
  • 2018.5.23–7.20 SpringBoot、SpringCloud、Shiro、还有老项目的改造
  • 2018.5.8 Solr和集群的配置

detail

NIO、Dubbo、Netty

当然最好的是并发网的NIO教程
http://ifeve.com/overview/

也参考CJ的这个,里面对netty有深入分析(更新了好几篇博客)
https://github.com/crossoverJie/Java-Interview

还有CJ的简书,里面有3个blog关于netty的
https://www.jianshu.com/p/8c04b0b1e914

JUC、JVM、多线程、内存模型学习计划

死磕java并发系列
http://cmsblogs.com/?p=2122

  1. 各个带区的作用(特别是永久带)
  2. 线程池的一些常用实现类和机制、tomcat线程池的管理、数据库线程池的管理(C3P0等等、Durid)
  3. JVM的调优和生成dump快照文件分析、图形化的监控界面和监控日志熟悉一下
  4. 锁相关的东西和面试题
  5. 最后刷所有的面试题

JUC、锁、内存模型

http://ifeve.com/java-concurrency-thread-directory/
参考CJ的合辑、JAVA多线程里面的很多东西
https://github.com/crossoverJie/Java-Interview

JVM相关

也参考CJ的这个,有一个JVM的合辑
https://www.jianshu.com/u/e2d07947c112

rocketmq

  • 单机的安装
  • 集群的安装和原理
  • 零大的博客系列刷完,基本上都没有太大问题了
  • 面试题再刷一遍
  • 延迟消息的原理
  • 顺序消息的原理
  • 事务消息的原理
  • 消费者流量控制的原理

Redis

  • 单机配置、集群和灾备的配置
  • 数据结构和原理
  • 分布式锁
  • 注册中心
  • 缓存服务器整合Spring和分布式Session
  • 常见面试题

秒杀

参考CJ的这个,有个具体的实现框架
https://github.com/crossoverJie/Java-Interview

redis实现,其中也有一些解决思路
http://blog.jobbole.com/99463/

Contents
  1. 1. plan
  2. 2. review进度
  3. 3. detail
    1. 3.1. NIO、Dubbo、Netty
    2. 3.2. JUC、JVM、多线程、内存模型学习计划
    3. 3.3. JUC、锁、内存模型
    4. 3.4. JVM相关
    5. 3.5. rocketmq
    6. 3.6. Redis
    7. 3.7. 秒杀