小編在編寫本篇文章前看到很多小伙伴,都在問Java學習該如何進階?我們都知道,學習一門編程語言除了被稱為萬物之源的C語言外,很多像Java、PHP、python等都是很好入門的,但入門之后呢?想要精通至少還得需要三五年時間,對于這些疑惑那就由小編來給大家講解一下吧!Java進階的學習小編的個人認有四層歷練。
第二層次是代碼的封裝,也就是模塊化,也許有現成的框架,但是有人也就是真的是日復一日的重復,腦子里從來沒有這方面的意識,也從來沒有去主動看過那些框架的源代碼,就比如Spring框架的源碼,那里面可是各種設計模式和Java反射,注解啊等的綜合應用,非常有學習的必要,看看別人是怎么設計的架構……自己能不能也寫一個輪子~要知道造輪子不是目的,關鍵是過程中得到升華!而且很多大公司都是自己二次封裝或者重寫的框架,比如阿里……
第三層次是代碼的可重用性,所謂的設計模式,什么代碼復用,高內聚,低耦合那一套……知道Java的哪些api用了哪些設計模式么?思想很重要。
第四層次是代碼的可重入性,也就是涉及到并發環境。針對Java就是Java的多線程,比如Java常用的集合,有沒有了解過集合這些算法的內部源碼?一些線程安全的集合都是如何實現線程安全的?別的公司不知道,稍微大點的互聯網公司,多線程是必考的,也是常用的,比如網易,阿里,等等等等。
對于以上這四個層次的學習,是在不但學習、不斷總結經驗中獲得的。在學習工作之余也要多問自己幾個問題:有沒有對Java虛擬機做過調優?Java的內存模型,類加載機制了解么?對Java虛擬機的垃圾回收算法有過研究么?Java會發生內存泄露么?舉例子什么情況會發生?如何避免?
我們普通人和Java”大牛“之間的差距,或許只在于”大牛“懂得對技術知識不斷剖析,對源碼不斷分析,不斷推陳出新,而我們只是套用!