地 址:联系地址联系地址联系地址电 话:020-123456789网址:v.twqueen.com邮 箱:admin@aa.com
精通,精通即精诚所至,什程透彻通晓。精通还记得张三丰教张无忌太极剑时的什程经典桥段吗 ?
“无忌 ,我教你的精通还记得多少?”“回太师傅 ,我已忘记大半剑招。什程”
“那,现在呢 ?”“还有几招没忘 。”
“那,现在呢 ?”“这我可全忘了,忘得干干净净的了 。”
“不坏,不坏 ,忘得真快!你这就请八臂神剑指教罢 !”
张无忌学太极剑 ,不记招式 ,只领会“神在剑先 ,绵绵不绝”之意 。
看完张三丰的剑法,忘记了大半 。
低头默想之后,只记得几招。
请张三丰重新传授一遍,又经沉思玩味,终于忘得干干净净。
全然忘记之时 ,也是学成之时,缍以之力克强敌 。把记忆转化为本能,终能不受原有招式的限制,随意出招,自成章法。
万变不离其宗,精通的目的在于应用,学Java也是如此 。学习Java的知识,但要跳出Java的局限 ,忘记其形 ,领会其意 ,才有可能达到返璞归真、神乎其技的境界 。
近年来,从事IT行业的人越来越多,间接导致企业对于开发人员的要求也越来越高。如题主所问 ,Java达到什么程度才可以在简历上写“精通”二字,那就要看你对自己的认知和你的实际水平是否匹配了。至于如何让实际能力高度匹配个人认知 ,也就是你想的和你能做到的是否一致,至少需要做到以下几点 :
1. 重视代码品质
想“精通”,就要先做到精益求精 ,这是技术开发的本质,也是将来作为程序员的立足之本 。对于尚未工作或工作经验不足的人来说 ,看书是比较实用的提升方式,有兴趣的同学可以通过下面的链接去找一找适合自己看的书。
https://www.zhihu.com/question/306822771/answer/1278743539
需要注意的是 ,在看书的过程中一定要思考 ,能否运用书中的经验来完善自己写的代码,真正做到学以致用 。比如看到final和static ,想想自己代码中用的是否合理。
此外 ,还可以看些常用的开源框架,如果你用的是Spring框架 ,那么下面知识图谱可以借鉴 :
2.扩大技术视野
地基打好以后 ,就要主动跳出舒适区,不断扩大自己的技术视野 。
作为学习Java的上坡路,这一步相对来说比较难,因为很多人会被所在公司的技术和业务限定住。比如公司当前的业务规模决定了技术上不需要分布式技术 ,很多人也许就不会去思考,规模扩大之后如何利用分布式技术来解决问题。
这时 ,除了寻找扩大业务规模的方法之外,也要保持跳出当前层级和环境来思考的习惯 。举个栗子,你只用了关系型数据库 ,那有没有想过数据是不断产生的 ,到达TB级别的时候该如何快速检索与保存呢?
此外 ,技术的全貌还包括各种技术之间的关系,比如你用了Dubbo,那么Duboo和Netty之间是什么关系;什么场景下能用到Zookeeper ,为什么会用到它,它和Spring Cloud之间又是什么关系?如果能在学习新技术的过程中,将繁杂的技术关系理顺,就能够形成框架并跳出框架,知其然,也知其所以然。
如果在工作2-3年内可以达到这个层次,那么你已经可以领先一部分人了。如果你对高并发和分布式技术有兴趣,可以参考下图:
3.加深技术深度
拓宽知识面之后,更要加强自己的技术深度。
互联网圈经常提到“不要重复造轮子”这句话,潜台词是,不是所有的轮子都不能重复造,同时要知道轮子的构造是什么 ,否则就是只学习而不知思考 。接下来,就是要选择一个或几个方面进行钻研,构建自己的核心竞争力。
比如,以消费端如何快速获取数据为例,看思维如何逐渐深入:
首先 ,消费端要及时获取数据 ,需要建立一个长连接吗 ?如何实现?
其次,数据通过push还是pull方式给到消费端 ,各自有什么弊端?
最后 ,如果消费失败 ,原因是什么?如果是网络原因引起,该如何解决 ?
上述问题都会在造轮子的过程中暴露出来 ,从而加深技术深度。一个有技术深度的程序员才是有灵魂的 ,有趣的灵魂才更容易赢得大厂的青睐 。
想要在Java上面小有成就,那么以上3个层次是一定要经历的 。可惜的是,由于外部环境和自身的设限 ,大部分人只停留在第一个层次,在日复一日的简单重复劳动中丧失了对技术细节的深入探讨 ,也丧失了提升自己的筹码,更加谈不上“精通”了。
那么如何过渡到第二、三个层次,给大家提两个老生常谈的建议 ,虽然说起来很简单 ,但做起来并坚持住属实都有点难度:
1、扩宽眼界 ,从全局看问题 ,勇于挑战别人眼中的难题;
2、持续提升学习能力,这是一个自己对自己输出的过程 ,更多的时候能力成长还是得靠自己 。
如果你依然迷茫,不妨询问一下资历较深的Java工程师,请他们谈一谈对“精通”的理解,或许能够更加直接地帮到你 。
总之 ,Java达到什么程度才可以在简历上面写“精通”,大家也无须太过纠结 ,毕竟“精通”这个词已经是简历上的必备形容词了。
当然 ,还是想对那些真正想在Java语言上有所建树的同学说 ,想要达到“精通”的层次,需要你的天赋以及不断地努力,还需要正确的方法以及你的勤奋和坚持 。
讲真 ,不妨参考一下张无忌学太极剑,神在剑先 ,人形合一。
在你深入Java世界又脱离其中之后,跳出原有的框架,真正把Java 的精髓融入到思维中 ,那时候就该称得上是“精通”了。