J门一入深似海,从此小倩是路人-破镜Java之路

354 阅读6分钟

banner窄.png

铿然架构  |  作者  /  铿然一叶 这是铿然架构的第 72 篇原创文章

相关阅读:

JAVA基础(一)简单、透彻理解内部类和静态内部类
JAVA基础(二)内存优化-使用Java引用做缓存
JAVA基础(三)ClassLoader实现热加载
JAVA基础(四)枚举(enum)和常量定义,工厂类使用对比
JAVA基础(五)函数式接口-复用,解耦之利刃
JAVA编程思想(一)通过依赖注入增加扩展性
JAVA编程思想(二)如何面向接口编程
JAVA编程思想(三)去掉别扭的if,自注册策略模式优雅满足开闭原则
JAVA编程思想(四)Builder模式经典范式以及和工厂模式如何选?
HikariPool源码(二)设计思想借鉴
人在职场(一)IT大厂生存法则


J门一入深似海,从此小倩是路人

2020年,各种学习栈喷涌而来,端侧,云侧,云原生,CI, CA,一个接一个,前一个还没消化,后一个就来了,我拿出追剧的劲头拼命追赶,但是却终日忙碌而收获甚微,自从踏入J门,陪小倩的时间就少了,现在已经快形同路人。

如今那个愁和忧,最直接的后果就是少年白头啊,痛定思痛,我放弃了,不跟了,我得捋一捋,制定自己的目标和学习计划。

不忘初心,破镜J门

我一直有一个目标,这个目标不是一个亿,因为我对钱没有兴趣。

自从入了J门,我的初心未曾变过,那就是不断的破镜,直至达到至高的无距境界。

虽然我倾慕无距已久,自认也有实力担当,但我很克制,我知道,步子不能太大,太大容易扯Dan,所以,我很虚心的定下了知命这个目标。

题外话,你们喜欢莫山山还是叶红鱼,亦或桑桑?

我嘛,喜欢......小倩。

学习计划

为了破境知命,我制订了如下学习计划:

看着这张图,心里美滋滋,甚是欢喜,仿佛多看一分钟,就增加了一分功力,不日即可大功告成,然欢喜之后就是一身汗,2020-真的能学完么?

到这,我觉得再往下就是对标X厂P7,P8,学习XX Java课程,进入XX大厂的广告了,这套路一模一样。

计划说明

Java基础

随着JDK的不断升级,JAVA新特性在性能,解耦,扩展性,优雅编程各个方面都有很大提升,掌握好这些新的特性非常重要,千万不能守旧,觉得用不上,或者觉得现有特性已经够用,就不去学习新特性。代码写得好基本离不开下面这几个因素:

不撸算法,设计模式和原则又似懂非懂,还能依仗什么呢,自然只剩语言特性了。

所以,建议还没有全面了解过Java特性的菜鸟和工程师们抓紧时间看一看,学习一下,啥子,你们committer和team leader都还没有全面了解? 德不配位,德不配位.....

有的公司并没有升级到JDK最高版本,具体了解哪些新特性看个人吧,不过至少JDK 8(含)以下的特性都建议熟练掌握。

并发编程

没啥好说的,并发能提高性能,必须掌握,熟练掌握并发编程原理和Java的并发包。

Java虚拟机

一般的业务代码编程很少有机会用到,通常都是框架代码会用到,但是还是得掌握,为啥?大厂面试官会问啊,看个人情况调整优先级。

数据库

暂时就MySQL了,Oracle早晚要去掉,NoSQL数据库暂时也不用。

数据访问

数据访问不仅仅是简单的CRUD。

Mybatis,数据库访问工具,个人觉得还行,灵活,结合代码自动生成工具提高编码效率。

ShadingSphere,分库分表工具,大应用少不了分库分表,学习,借鉴,使用,没毛病。

Dirud,阿里数据库连接池工具,提供监控功能;HikariPool也不错,没有监控功能。

Seata,阿里分布式事务框架,虽然不提倡分布式事务,但避免不了时总还得用吧。

框架

web应用,一般公司选择Spring家族几乎没有悬念,而阿里系会选择自家的Duboo,阿里能弃spring不用而开发自家产品,说明Duboo也有优秀之处,为了日后能早日融入阿里,提前学习下了,另外既然Duboo都学了,阿里sentinel这个熔断降级的框架也附带看看吧。

Nginx

似乎和J门无关,也不是知命的职责,先记着,时间有富余再去学。

Netty

网络编程必会工具,根据优先级来,暂时用不着网络编程,就先放一放。

消息中间件

异步编程能大大提高性能,大容量系统几乎都会用到消息中间件,所以这个也是必须掌握的,消息中间件有很多,都学习肯定是学不过来的,挑kafka是因为久负盛名,RocketMQ是因为是阿里开源,阿里开源这方面做得不错,况且,说不定有一天就要去阿里呢,可以和面试官套近乎。

缓存

缓存也是提高性能的重要手段,另外可以减少数据库压力,所以这个也是必选掌握的。

Caffeine参考了Google guava的API,是基于Google Guava Cache设计经验上改进的成果,据说命中率较高。

Redia作为分布式缓存的翘楚自然也少不了。

JetCache是阿里开源缓存工具,封装了不同类型缓存的使用,其中就包括Caffeine和Redia,既然有现成的,就即拿即用了。

Git工具

相信代码管理工具用SVN的公司已经很少了,如果还有,建议切换到Git和GitLab,并增加MR流程和Reviewer、Committer角色,代码review对控制代码质量,提高开发人员水平非常,非常,非常有用。

同时再结合CI中的各种门禁,代码质量,工作效率大大提升。

搜索引擎三剑客

为啥想到要学搜索引擎三剑客,一是看到公司的云侧监控系统,各种视图,各种报表,各种监控数据在Kibana中一览无余,那个溜啊,心里就两个字-牛X;二是想过做一个文本搜索系统,想想数据库性能肯定不高,于是就将三剑客纳入进来了。

这玩意对非专职开发,算是锦上添花,看个人情况决定。

后话

看完这篇文章,深入J门的你更焦虑了没?

没有-那你怕是过了知命境界,恭喜咯。

有-那就对了,不能我一个人焦虑,一个人白头,掉头发,在相亲会上毫无竞争力啊。

end.


<--阅过留痕,左边点赞!