2019/14周总结


这一周的累指数 6/10
这一周的高兴指数 1/10
这一周的学习指数 8/10
找工作前夕的一周突击复习准备

1. 关于 Netty 的学习

  1. 大概是一年前在 ifeve 上看过 NIO 的相关入门知识,不过平时没有机会用到,忘了不少,这次重新学了一遍,基于 Netty 的模拟 RPC 通信,自定义协议包,还有 TCP 的拆包黏包问题,最后就是零拷贝和 mappedFile(rocketmq也用了这个文件映射技术)、bytebuf 的包装,包括池化和合并拆分操作

2. 关于 Dubbo 的学习

  1. 自己之前也系统的学习了 ZK,因此直接从 ZK 注册的源码开始学习,发现其实技术并不复杂,包装了 ZK 的 NODE 增删改查以及监听操作,最骚的是本地缓存,看了才知道将注册情况写入到了文件。。。之前一直以为是内存缓存
  2. 还有 Redis 注册中心,看了之后,对线程池了解更深了吧,Redis 基于线程池,做的定时轮询,而不像 ZK 有特殊的临时节点的技巧,也算是涨了见识,不过 Redis 的 value 存储的是过期时间,这个之前都没注意,唉,还是业务也傻了
  3. 最后就是负载均衡策略,算法是看不懂的。。。只能通过 @SPI 注解知道默认实现,官方文档写的真好:http://dubbo.apache.org/zh-cn/blog/dubbo-loadbalance.html

3. 关于 XXL-JOB 的学习

  1. 这个只是在公司用用,自己一直没怎么深入学习高大上的分布式调度中心,我当时在万江龙的时候,依赖的 ZK 监听节点,来实现的任务中心,发现当时实现的有点复杂,而且重
  2. 这个自己搭建,然后看了里面的源码,发现是基于注解做反射拿到类,然后执行相应方法,当然,内部通信还是基于 Netty!不过看项目依赖是自己实现的一个 RPC,估计也是基于性能上考虑吧,自己实现可以最简化,像 RocketMQ 的 nameServer 一样

4. 关于 MyCat 的学习

  1. 分库分表在工作中没有接触,主要的尴尬点在于:新项目吧,分库分表有点过于设计。老项目吧,旧业务数据繁杂,你都没法拉出一个对整个数据库各个表业务字段熟悉的人,你说让你做,你做不做,最重要的原因是,没有出现太重的查询问题,索性公司就把精力放在别的上面。
  2. 学习 MyCat 因为是相对与 sharding-jdbc,感觉像这种中间件级别(代理)更会有意思,基于某个字段做分片,不过没怎么细看,只能说大致了解数据库分库分表,写过Demo

5. 不上班的心态

  1. 之前听好多群友、网上说,裸辞压力大、而且也很难坚持、容易被自己懒惰给打击,导致悲观。。。不过自己情况也还好,之前年前就在看市场的情况,也面了一家,看看自己的缺点,时刻保持着学习的冲劲
  2. 但是不得不说,我们公司从年前到年后,裁了三波,也能感受到环境的不景气,没办法,现在培训的太多,导致某些岗位求不应供,尤其是 1~3年 的 Java开发,真的是难,没过 3 年很尴尬,不过也希望自己能保持好心态、规划好学习进度,保持这个趋势,应该也不会太差

6. 总结

  1. 不上班比上班还累!不上班,凌晨睡,中午醒,起床,吃饭,看视频、看书学习,看些别人的面经,再吃饭,再无聊看看直播,再学习,然后睡觉。。。学习时间超过了8小时。。。
  2. 不要放弃,有更好的一定在等着我,这次要选个好坑,好好做项目