Java程序員學習的方向是什麼,現在有點迷茫?

2視頻


我就是畢業後開始學習java,一步一步上來的,目前開始弄python人工智能方面。

第一步,認為是學好java的基礎知識,包括語法、面向對象理念等。

第二步,瞭解jvm相關,並以此切入計算機組成原理。

第三步,開始學習一些框架,比如netty、spring系列等,並以此讀些源代碼(包括jdk中一些源代碼)。

第四步,學習一些項目中需要用到的內容,比如數據庫、消息傳輸、tomcat容器等,他們的安裝、使用以及原理。

第五步,具體項目的開發,目前用的較多的是springcloud微服務框架,自己動手從頭開始搭建。簡單crud做起,逐漸形成一個項目。

第六步,linux及容器的一些部署方式,將你的項目部署到容器中運行。

以上完成,基本上一個優秀的資深程序員了。

我的項目中,因為要嵌入目前熱門的AI技術,因此使用了python的numpy、pandas、tensorflow等技術,使用flask提供接口服務,目前也在深入學習中。

以上,是我的學習路徑。 不過我以前一大段時間是做應用運維的[捂臉]


程序員小科baba


寫給Java程序員學習路線圖



如下是我做開發這幾年經常使用一些技術和工具,當然這些技術也都是需要加強的(有些是我一直使用的,不過不深入,有些內部的原理等等不是很清楚)


前端部分:


1)HTML:網頁的核心語言,構成網頁的基礎

2)CSS:使網頁更加豐富多彩燦爛的利器

3)JavaScript:使網頁動起來的根本,加強了網頁和用戶之間的交互

4)HTML DOM:換一種更加形象化的角度來看待網頁,讓我們更加方便的控制網頁

5)HTML BOM:與瀏覽器交互不可或缺的工具

6)JavaScript庫,主要是:jQuery及其插件、YUI及其插件,使編寫網頁更加的方便快捷和健壯的強大工具

7)AJAX:異步提交,增強了用戶使用網頁的良好交互體驗

8)JSON:比 XML更小、更快,更易解析的數據傳輸工具

9)FLEX:提供豐富多彩的動畫效果

10)普元工作流:更加清晰明瞭的幫助用戶處理業務流程上面的工作

11)JSP:Servlet的展示層,使網頁邏輯與網頁設計的顯示分離

12)JSTL:加強和簡化了JSP頁面的開發

13)EL:使JSP頁面寫起來更加簡單


後臺部分:


1)JAVA語言編程基礎部分:內容豐富是Java知識體系結構的核心和基礎

2)JDBC:提供了一種基準,據此可以構建更高級的工具和接口,使Java開發人員能夠編寫數據庫應用程序

3)JavaMail:用於電子郵件的相關的編程工作

4)JUnit:單元測試,整個變成工作測試的地位始終非常重要

5)Log4j:使我們能夠更加細緻地控制日誌的生成過程

6)Servlet:JavaWeb的核心

7)Struts2:JavaWeb編程中明星級的框架,優點多功能強使編程工作更簡單,主要用於控制跳轉

8)Spring:JavaWeb編程中明星級的框架,同樣優點多功能強使編程工作更簡單,主要用於管理對象

9)myBatis:JavaWeb編程中明星級的框架,同樣也是優點多功能強使編程工作更簡單,主要用於程序和數據庫之間的交互

10)SQL:與數據庫交互式編程的必備工具



版本控制:


1)SVN:版本控制,方便團隊協同工作(分佈式管理)

2)GIT:版本控制,方便團隊協同工作(集中式管理)


WEB服務器:


1)Tomcat:優秀免費的中小型WEB服務器

2)Weblogic:功能很強大的WEB服務器


開發工具:


1)Eclipse:開源強大的Java編程工具

2)MyEclipse:在eclipse基礎上加上自己的插件開發而成的功能強大的企業級集成開發環境


數據庫:


1)Oracle:數據庫業界老大,這個常用一點當然,也僅僅是常用一些常用的功能而已,需要加強。是收費使用的

2)MySQL:最好的關係型數據庫之一

3)SqlServer:最好的關係型數據庫之一


數據庫客戶端:


1)Navicat Premium:非常棒的數據庫客戶端軟件


操作系統:


1)Windows

2)Linux


遠程登錄的會話工具:


1)SecureCRT:一直在用,非常不錯(用sz,rz上傳下載)



其他:


各種種類和版本的瀏覽器(推薦使用FireFox)、office辦公軟件系列、各種文本編輯器(推薦Sublime)、各種閱讀器等等


回頭看,針對開發工作自己使用過的東西還是不少的,不過每一樣都稱不上是精通的,僅僅是常常使用,使用那些常用的功能,我在這裡記錄下來就是要一個個補上來,當然,肯定也需要不斷的學習其它一些新的技術和工具的!是對自己的一個督促吧!指明瞭自己努力的方向!


下面是從網上找的三幅圖片,比較好的說明了作為一個Java程序員的學習路線圖,我放在這裡作為一種自我提醒的工具,不時看看,並且會趕緊修補自己的知識樹!


1:Java的知識體系結構

2:JavaWeb開發的基本學習路線圖

3:JavaWeb開發的成長路線圖


第一部分:Java高級學習課程大綱


1:工程化專題

我們的工程化專題有五大內容:(1):Maven (2):Nexus。 (3):jenkins 。 (4):代碼審查。 (5):Git/SVN 。

一共耗時一個月


2:源碼分析專題


源碼分析有三大內容: (1):spring的源碼分析,裡面包括FactoryBean和MVC和事務處理與Spring源碼中設計模式分析 。 (2):持久層 。 (3):企業級開發前瞻。 一共耗時2個月



3:高併發與高性能


高併發與高性能有四大內容: (1):併發編程, 裡面又包含有線程安全和NIO和AIO 。 (2):異步通信,裡面包含有本地隊列和消息中間件。 (3):分佈式協調技術,裡面包含有Zookeeper和服務鎖 。 (4):NoSqI: 裡面包含有 MongoDB和Redis和Memcached 。

一共耗時2個月


4:高可用性與可擴展


高可用性與可擴展有兩大內容: (1):分佈式架構介紹,裡面有導流技術和服務設計和存儲設計。(2):服務調用,裡面包含有WebService和Dubbo。 一共耗時2個月


5:性能優化


性能優化有四大內容:(1):優化技巧,如何尋找性能瓶頸 (2):JVM優化 (3):數據庫優化 (4):服務器優化

一共耗時2個月


上面這五大專題,是幾位工作經驗十多年的大牛,根據自己往年的工作經驗與經歷,在根據現在科技發展的實際情況,歷經幾個月的時間編寫而成,換句話說,上面的五大專題,也就是他們這十幾年精華總結,現在,你只要按照上面的課題學習,只需要花費掉你七個月多的時間,你就能夠學會與理解幾位大牛十多年總結出來的精華。你說,你能學完這些,你還怕公司老總不給你漲工資和升職位麼?


第二部分:階段性的學習


學什麼東西都一樣,我相信大家也是一樣,在學東西的時候,大家總會安排好自己階段性的學習,這樣才能有效的提升自己與有效的理解和認知所學的知識。合理安排好,才能起到事半功倍的效果。


分享到:


相關文章: