其实看过很多同学在技术上面有所突破和成就,其实我个人感觉这个是有规律的,只要大家持之以恒,肯定是可以成功的,下面我就进行一些方法和内容的总结。
学习技术分为几个阶段,阅读相关的技术,理解相关的技术,将所理解的技术书写下来,将理解的内容说出来,将理解的技术用起来。
1.我们再遇到技术方面的知识的时候,需要进行阅读,那么我们再阅读之前必须要清楚什么样的书才适合我们,我们怎么去找到我们需要阅读的书籍呢。我觉得其实可以从很多方面,比如你很崇拜一个技术牛人,他看过的书单并且对书的内容所理解的也许适合你,有或者你可以通过豆瓣读书去看一些评论,去亚马逊网站上去看书的评论。我们在读之前一定要进行大量的思考,什么样的书或者材料适合我们?我们要从这本书中获取什么?有哪些内容是不变的,比如里边所使用的算法,因为我们要掌握一些不变的东西,这样我们用什么语言都可以的。比如你知道了CPU是如何运算的,多线程之前如何保证CPU能正确处理程序,这个是任何语言都可以用的。
2. 阅读了之后就开始进行自己思维的理解,希望大家可以把理解的内容想象成一幅图片或者一个二维的东西,或者通过奇思妙想去进行有效的关联。当然有的时候你遇到的问题一定要弄明白它是为什么的,为什么用它而不用别的方法,如果明白了,那么你的知识就会理解的更到位,在你头脑中的“树”的枝杈就会更丰富,同样以后遇到类似的问题之后,这块的知识就蹦出来告诉你答案。我其实不希望大家死记硬背,因为这样的记录知识一个再大脑中一个基本上永远用不到的区域,所以再阅读理解之后,尽量要进行实践,这样你又多了一个记忆维度。维度越多未来唤醒这块区域的方式就很快。
3. 如果有些技术的内容理解了,那么就需要将理解的内容进行汇总出来,也就是写下来用于记录和留作自己未来重新阅读的记录。如果必要的时候你可以画一些图片放在你的博客里边。比如你阅读了JVM的原理,那么将JVM的结构用图表画出来,并且辅助以文字,将其中的每个部分都列出来。这样就再次加深了你的记忆。同时你也会在你写作的时候把你心中的思路重新捋一遍,有时候你会发现有些东西你自己虽然理解了,但是当你写的时候却不知道怎么写。如果你不写的话,时间久了真的会忘记的,甚至当你需要的它的时候,它都不会出来。同时你整理完了以后,在你的头脑中会再次形成一个图形并茂的立体图像,或者像一棵树一样将各个知识点汇集起来。
4. 能写出来之后基本上已经不错了,但是能把这个问题给一个不同这块技术的同学、同事讲出来,那么你就又多了一些维度,比如,讲和听。如果你也再次能把你理解的全部讲清楚,说明你对这块技术理解的已经很到位了。那么通过在讲述的过程中可能对你的知识的汇总更加深刻。其实很多同学也会有印象,在上学的时候,很多学习很好的同学去帮助不理解或者不会的同学的时候,其实就相当于他又重新理解了一遍,并且有可能会发现新的角度。学习技术也是的,比如你在跟你会的知识水平差不多的同事,当你把你知道的内容讲给他听的时候,你们的知识系统进行了碰撞,说不定他会在你不知道的空白知识区帮你补充上。有时候团队的力量是很厉害的。
5. 最后一项是非常厉害的事情了,就是能在你所学习的内容中将其实践。在实践的过程中,你一定要明白你所使用的知识技能是不是符合你所学习的这块内容,还是多问自己几个问题,我学习的知识结构里边是否有最佳的方案,有没有更好的方案。能把所学的内容知识想到并且发挥到极致,这个其实是很难的。比如你学习了很多设计模式,但是当你使用的时候,你会不会觉得好多设计模式都可以用到这里,这个其实你可能对一些设计模式是否真正的理解到位了,它们的区别都理解透彻了。而不是我学习了设计模式,那么我就在工作中一定使用设计模式,这个其实是不好的。当你已经深入理解了一些东西的时候,比如你很了解一些类的源码,知道为什么这么用,那么你可以尽情去使用了,这样既在工作中提升了,同时对你所学习的知识也得到了一个提升。
所以,持之以恒吧,相信大家都会成功的!