Java入門後切忌急躁,去敲程式碼你會發現問題還是很大。建議從以下做:鞏固基礎!制定以後長期的學習路線、所有的內容系統性的排列,包含了基礎,中級,高階,前端,資料庫,框架,實戰專案、工具和中介軟體,分散式和叢集等;實戰,基礎學完以後,能看懂程式碼後,開始實戰,照葫蘆畫瓢,這樣不僅可以讓自己有成就感,肯定自己,也是測驗水平的最好辦法;如此反覆,基礎、實戰、基礎、實戰,學完之後找工作肯定沒問題。如果想省事,尚學堂百戰會給你制定好學習計劃。跟著學就可以,實戰也會穿插在平常學習中,學習是長久的事,尚學堂教給你的不僅是技術,還有學習方法。
回覆列表
-
1 # 阿里seata分散式玩家
-
2 # 網際網路極客
Java入門後,提升就容易了,多看開源專案,多實戰,多跟著大神敲程式碼,寫程式碼,查詢生產問題,處理緊急任務,多加加班,研究研究原理問題,提升起來就快了。經過個兩三年了你也就可以是大神了。
加油,祝你在開發的路上越來越好!
-
3 # 槽話談
兩個月時間挺充裕。
把這兩個月時間粗略分成八週(56天)
第一,二週:
基礎知識學習,主要方法就是看JAVA程式設計思想,用JAVA實現各種資料結構,多動手,把每個知識點都敲敲。
第三,四周:
上專案,做些簡單的JAVA專案,瞭解SSH等框架。兩週足夠做一到兩個了。
第五週:
學習JAVA各種JAVA的高階特性,這裡比較難,但實際情況用的不多,不懂就多看看大牛的技術部落格。
第六週:
看《深入理解JAVA虛擬機器》這本書,瞭解JAVA執行機制。
第七,八週:
讀寫優秀專案的原始碼,上github上讀程式碼,同時瞭解JAVA一些常用類的實現。
首先學習真的是一個循序漸進的過程,也是一件需要堅持的事情。對於這個話題,不同階段的人可能有不同的理解,所以我把我整理了比較全面的java學習路線分享給大家,以供參考。下面的這個學習路線主要針對於那些剛剛學習了java,但是還沒有深入理解的同學。
我大概把學習流程分了三個階段。
1、簡單的資料結構
(1)基礎概念(2)陣列(3)連結串列、(4)佇列(5)棧
2、樹
(1)二叉樹(2)平衡二叉樹 (3)最優二叉樹(哈夫曼樹) (4)紅黑樹 (5)B、B+、B*樹
(5)LSM樹
3、圖
(1)圖的基礎知識和兩種遍歷方式(2)最小生成樹 (Prim 演算法 和 Kruskal 演算法)
(3)最短路徑演算法 (Dijkstra(迪傑斯特拉)演算法和Floyd(弗洛伊德)演算法)
(4)拓撲排序
4、排序演算法(8種排序演算法和時間空間複雜度)
5、java中排序工具
(1)陣列排序(2)集合工具類排序
6、常見演算法
(1)字串比較KMP演算法(2)剪枝演算法(3)布隆過濾器(4)回溯演算法
**二、java基礎**
1、java集合
(1)各個java集合類(2)使用場景以及效能分析
2、常用類
(1)基礎型別封裝類(2)BeanUtil工具類(3)string系列類(4)java各種關鍵字(transient、final、static等等)(5)Math系列(6)system系列
3、javaIO
4、java泛型
5、多型以及實現原理(主要是記憶體上的結構)
6、java註解和反射
7、java中的語法糖
8、java8、9、10新特性(主要是8)
9、java異常
10、其他零碎知識點(比如建立物件的4種方式)
三、**設計模式**
1、建立型模式(5種)
2、結構性模式(7種)
3、行為性模式(11種)
四、JVM**系列**
1、jvm記憶體結構
2、類的載入機制
3、GC演算法、分析、最佳化、工具
以上這個階段看完了基本上就可以進入下一階段了。第一個階段是最枯燥乏味的,當然再上一個階段中假設你還學習了HTML、css、js、jsp+servlet+jdbc這些。如果沒有你可以先把這些學習了進入下一個階段。可能像jvm系列這些在後面學習也可以,不過我覺得一開始就先明白更好
**第二階段**
一、SSM框架
(1)spring(先使用)(2)mybatis(3)springmvc(4)SSM整合(包括使用maven整合)
二、相關工具
(1)maven(2)git(3)IDEA(4)eclipse(5)日誌框架(6)Jenkins
三、java併發程式設計(內容比較多)
四、java網路程式設計
(1)序列化(2)網路程式設計基礎(主要看書、TCP/IP這些)(3)NIO(4)netty(5)遠端呼叫(RMI、Thrift、gRPC)
五、資料庫
1、Mysql、Oracle
2、nosql(redis、MongoDB)
第二階段結束之後,我覺得應該是分專題的,因為沒有嚴格意義上的先後順序了,基本上就是用到哪一塊就學哪一塊就好了。
**第三階段**
一、應用伺服器
1、Tomcat
2、Jboss
3、Jetty
4、Weblogic
二、linux(不需要完成整個運維師的知識、會使用和底層原理)
三、分散式系統(這裡面內容很多、框架也很多)
(1)Dubbo(2)Zookeeper(3)三大訊息中介軟體(4)分散式快取(5)springSession
(6)高併發分流ngix(7)檔案系統fastDFS(8)資料擴容mycat(9)Docker等等
四、微服務架構
(1)springBoot(2)SpringCloud等等
五、安全
1、加密機制
2、shiro安全驗證框架
3、其他安全知識
4、一致性演算法