关于我

  计算机码农,喜欢后端技术,如 .Net、Java、Nodejs、Docker,毕业后做了几年C#,后来跟随大潮转到Java,转到Java后才发现是世界那么的大,原来自己是那么的无知,再后来接触到分布式开发。大多数互联网公司开始做基于分布式微服务的系统开发,资源充足的还用到了容器技术。所以分布式、容器技术是个人将来学习的方向。当然前端也有接触,从最开始的 getElementById, getElementByTag 到 JQuery的流行,再到当前基于MVVM模式双向数据绑定的 Vue 及 AngularJs(微信小程序同样如此)。还有基于 Vue 实现的一些快速开发框架,如Iview、ElementUI、Vux等PC及移动端开发框架。有了Nodejs更是促成前端更加专业化,前端也有了模块,同样也可以执行编译打包。下面都是一些个人总结,这些总结我都写到了思维导图Xmind里面,大家喜欢可以到 这 里 下载。所有文件均以思维导图(xmind)的方式展现,包含前后端,数据库,分布式,算法等。还在持续总结中,才疏学浅,如有不足烦请大家帮忙补充。

   每一个小的知识点都可以发散展开变为一个大的知识面,多个知识面从而形成一个知识体系

   分布式及容器技术K8S是今后学习的一个大方向。

  Java:集合、面向对象、线程、GC、JVM及JVM参数调优,JVM工具使用。Java源码实现,可以看看HashMap,HashTree,ThreadLocal,ThreadExecutor等,以及并发集合包中的类 ConsurrentHashMap,AtomicInteger,AtomicLong及队列同步器AQS。还有部分框架的实现,如Tomcat的实现(基于wait/notify通知机制实现Socket分发,及从BIO到NIO的过程),如Dubbo的实现(RPC与一般http接口调用的区别,网络通讯协议,序列化协议,BIO与NIO使用场景,服务负载均衡及容错)等

  Javascript:变量、函数、作用域、函数及变量声明提升、闭包、apply\call\bind等,js很灵活,小项目可以不用关心开发规范,但是对于一个多人开发的大项目规范就很重要,无规矩不成方圆。虽然有不少类型检查工具,如 JSHint, JSLint,但是还无法满足,如函数调用时的入参个数,入参类型,返回值类型,返回值属性命名,变量属性及方法自动提示,静态类型检查等。所以对于前后端基于Js的相关项目,个人更推崇微软的TypeScript。实际上也有很多项目也在向TS转移。

  Nodejs : 事件循环EventLoop,Promise,Generator,async/await,ES6、ES7、ES8、ES9新特性,Async库等

  分布式 : CAP理论,BASE,一致性协议,分布式锁,分布式事务,服务的拆分与治理。服务搭建完成后还少不了监控,基础层、中间层级应有层监控。大多数分布式集群(kafka、MongoDB、ElasticSearch等)实现高可用的分片副本机制,分布式协调服务zookeeper的zab协议及consul与etcd的raft协议的区别…

  感恩与你相遇的人,无论好与坏,正是因为他们,才让你变得更强大。