如何系統的學習JAVA?

用戶2438251005281


很開心看見有其他小夥伴一起來學習Java。我認為在互聯網高度發達的今天,學習Java可以考慮以下思種方式,而不是侷限於某一本書。

第一種:視頻教程的方式。

優點:通俗易懂,老師講解過程中不一定全是書面語言;樣例豐富,講解老師可能會穿插介紹學習中的坑,和需要注意的點。

缺點:速度教慢。

總結:建議純編程小白採用這種學習方式,老師語速太慢可以調高視頻播放倍數。推薦中國大學慕課或者嗶哩嗶哩等平臺,簡單搜索即可找到優質的免費教學視頻。

第二種:文字版學習網站。

優點:隨時隨地可以學習,你甚至可以利用好上廁所的無聊時間。打開手機即可。網站一般邊講解邊有代碼讓你實際運行,你可以邊看講義,邊跑代碼。

缺點:不容易形成系統學習;學習過程中可能受到網站本身廣告的影響。

總結:推薦 廖雪峰的官方網站、菜鳥教程等。

第三種:筆記、經驗分享社區。

優點:當你邊學習的時候肯定會一邊寫代碼。學習者可能遇到視頻中、講義中沒有提到的問題。甚至是某款軟件的安裝或者使用的問題。這個時候你利用搜索引擎進行簡單搜索,就能借鑑前人的經驗。

缺點:內容質量參差不齊。

總結:適合自學時遇到問題的時候使用。推薦CSDN,或者其他博客。

第四種:專業的書籍

優點:當你學習了一段時間之後,是時候準備一部類似於字典的工具書了。當你不會某個函數,某個對象的時候,你可以拿起你的這本工具書。主要用途是方便忘記的時候查閱。

缺點:某些書籍的文字描述晦澀難懂,閱讀體驗不是很好。

總結:推薦《java從精通到入門》。其實其他書也推薦,簡單搜索,出來的書目質量都不會太差。

----------------------分割線--------------------------

總結:可以看見,本回答不完全符合題主的提問。但是我覺得這是我學習Java過程中十分常用,也十分受用的學習方法。另外,想學習好一門編程語言,離不開大量的練習。祝題主學習愉快♥。


十分科技


本人10年開發培訓經驗,期間經歷了Java Web,Android,H5,大數據,PHP等多個不同的方向的開發,也做過軟件培訓公司的金牌講師,很有興趣回答你這個問題。

Java發展到現在,經歷了25年的技術沉澱,在行業內已經積累了大量的技術資料,學習路線其實也很明確了。

Java基礎學習路線:

從第一天Java介紹,環境搭建學起;

然後就是數據類型,條件分支,循環,方法,數組,集合,面向對象,字符串,線程,IO流,網絡操作等;

數據庫部分:

MySQL等SQL規範,JDBC操作等;

前端部分:

html,css,js,jquery,ajax,json等,後端程序員也得掌握前端內容哈;

web部分:

servlet,jsp,過濾器,監聽器,攔截器,ssm,ssh,springboot框架等;

分佈式部分:

dubbo,zookeekper,springcloud,各種mq,集群,分佈式事務,鎖等;

工具及架構部分:

maven,git,jenkins,docker,linux服務器,redis,mq,es,分庫分表,調優技巧;

然後如果你要走安卓方向,那麼還要學習Android的開發技術,Activity,Service,BroadCast,Layout,View等等.

下面是我給你列舉的一些Java學習方向,僅做參考吧。

我從事互聯網開發10年,主要的研究方向集中在Java web微服務架構領域,Android移動端研發,HTML5前端方向,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信你一定會有所收穫。


一一哥Sun


學習Java.首先要學習J2SE,它是Java體系的基礎,也是重中之重。能重視基礎,把基礎學紮實,才能在這條路走的更遠。

J2SE分為幾個方面去學

1.真正理解面向對象的優勢,為什麼Java不是面向過程

2.掌握Java語法基礎,包括集合體系,多線程,IO,網絡編程,異常處理等等。

以上最好的學習方法就是看書,多看多記

學好了SE,就要開始學習EE,web等。

這一部分要學習java的框架知識,最為重要的是spring。學習框架最基礎的是會使用,然後到會看源碼,最後到會改造,就比較厲害了...

這一部分主要是要多練,多寫Demo,多測試,多看源碼。要能熟練搭建JavaWeb的框架

最後給你推薦一些Java的書籍,書名比較多,拍張照片



J小勁


自學Java看這一篇就夠啦!Java學習路線圖分享給你,跟著學習吧!

一、Java基礎

JavaSE基礎是黑馬程序員的Java中級程序員的起點,是幫助你從小白到懂得編程的必經之路。

全網最新的java學習路線圖

在Java基礎板塊中有6個子模塊的學習:

基礎語法,可幫助你建立基本的編程邏輯思維;

面向對象,以對象方式去編寫優美的Java程序;

集合,後期開發中存儲數據必備技術;

IO,對磁盤文件進行讀取和寫入基礎操作;

多線程與併發,提高程序效率;

異常,編寫代碼邏輯更加健全;

網絡編程,應用服務器學習基礎,完成數據的遠程傳輸。

學習該階段,可以完成一些簡單的管理系統、坦克大戰遊戲、QQ通信等。

二、數據庫

數據庫不僅僅是Java開發工程師的必學課程,也是其他語言都需要掌握的技能。用於對交互過程中客戶的數據進行存儲。

該板塊包括關係型數據庫和非關係型數據庫。

例如:MySQL、oracle、redis、MongoDB等。數據庫學習完畢後,可以將數據存儲到數據庫中,也可以通過SQL語句從數據庫中查詢數據,結合Java項目可以實現動態站點的數據的保存。

三、前端技術

Javaweb階段包括前端、數據庫和動態網頁。Javaweb是互聯網項目的入門課程,是學習後面高進階課程的基礎。

首先,我們先看一下前端板塊。該板塊主要包括如下幾個模塊:

HTML5,網頁製作標記語言;

CSS,對HTML製作網頁進行美化;

JavaScript,嵌入在頁面中的腳本語言,具備邏輯性;

Vue,前端框架,簡化了與服務器端交互的操作,用戶良好的交互體驗是必不可少的。

學習前端技術後,可以完成類似京東、淘寶的前端工程的編寫。

四、動態網頁技術

動態網頁是中級程序員服務器端編程的基礎,是高級框架學習的必備課程,後期學習的框架、服務底層都是基於動態網頁技術之上的。

該板塊包括Javaweb核心技術、包括Servlet、Request、Response、Cookie和Session等,通過這些技術的學習可以完成動態站點開發,可更好的完成服務器端與客戶的交互,讓頁面的數據“動”起來,做出小型的應用系統。

五、編程強化

編程強化是對解決實際問題方面做一個深入的瞭解和應用,是對JavaSE基礎的加強,對後期自動以框架和對一些服務框架的底層理解做支撐。

編程強化板塊主要包括如下幾個模塊:多線程高級、涉及線程內存、線程通信等;JVM優化,對JVM底層進行調優來提高項目執行效率;NIO,同步非阻塞IO來提高效率。

學習該階段,可以對原有項目進行優化從而使程序更快更穩定。

六、軟件項目管理

JavaSE基礎是Java中級程序員的起點,是幫助你從小白到懂得編程的必經之路。

在Java基礎板塊中有6個子模塊的學習:基礎語法,可幫助你建立基本的編程邏輯思維;面向對象,以對象方式去編寫優美的Java程序;集合,後期開發中存儲數據必備技術;IO,對磁盤文件進行讀取和寫入基礎操作;多線程與併發,提高程序效率;異常,編寫代碼邏輯更加健全;網絡編程,應用服務器學習基礎,完成數據的遠程傳輸。

學習該階段,可以完成一些簡單的管理系統、坦克大戰遊戲、QQ通信等。

七、熱門技術框架

使用Javaweb進行企業級開發是完全可以的,但是開發效率比較低,所以對常用的邏輯操作進行封裝就形成了框架,因此框架是企業開發的入門技能。

熱門框架板塊主流框架有如下幾個:Spring框架,佔據統治地位,其生態系統涉及各個方面解決方案;MyBatis框架,使用ORM思想對數據庫進行操作。

該板塊學習後,就可以進行真實企業級項目開發了,做出的項目也會更加符合企業要求。

八、分佈式架構方案

隨著互聯網的發展,業務的複雜性和用戶的體驗性都需要提高,所以分佈式架構出現了。該板塊主要講解的是分佈式架構的相關解決方案。

主要包括如下模塊:Dubbo,高性能的 RPC 服務發佈和調用框架;SpringBoot,簡化Spring應用的初始搭建以及開發過程;Spring Cloud,一系列框架的有序集合,如服務發現註冊、配置中心、負載均衡、斷路器、數據監控等。

該板塊的學習,可以具備大型互聯網項目開發的必備技術和實際經驗,為進入BATJ打下基礎

九、服務器中間件

中間件板塊是大型互聯網項目中必備的。服務中間件可以幫助各子模塊間實現互相訪問,消息共享或統一訪問等功能。其包括遠程服務框架中間件,例如阿里(Apache)的RPC框架Dubbo等;消息隊列中間件,例如:阿里巴巴開源分佈式中間件RocketMQ、高吞吐量消息發佈和流處理服務Kafka等。

學習服務中間件是中級JavaEE工程師必要技術,也是JavaEE架構師必須精通的技術。

十、服務器技術

不管是使用原生Javaweb進行開發,還是使用框架進行開發,項目最終需要對外發布才能供全世界的人訪問到,而服務器板塊就可以解決這個問題,所以服務器是項目發佈的必要技術。該板塊包括虛擬化和web應用服務器的學習,主要包括如下幾個模塊:Vmware,虛擬機軟件;Linux,專門用於服務器的系統;Nginx,集群部署時反向代理服務器;Tomcat,項目發佈時主要使用的服務器。

該板塊學習後,我們就可以把開發好的項目發佈到服務器中,然後供你的小夥伴遠程訪問了,超酷!

十一、容器技術

容器化技術是近兩年超級火的一個專題,通過容器化技術可以對環境進行打包,方便移植,大大提高了開發效率。該板塊包括容器化技術Docker和其平臺管理引擎Kubernetes,其中,Docker 是一個開源的應用容器引擎,可以打包應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的Linux或Windows 機器上,也可以實現虛擬化。而Kubernetes是一個開源的,用於管理雲平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單並且高效。通過該板塊的學習,你可以通過上述技術快速搭建環境,節省開發時間,提高開發效率。

十二、業務解決方案

雖然我們已經具備了基礎技術和高階技術,但是要想與企業開發相接軌,還需要對實際項目的業務解決方案進行探究。而此版塊就是在實際業務場景中的真實解決方案集合,常用的業務解決方案有如下:搜索業務場景解決方案、日誌收集與分析場景解決方案、工作流引擎場景解決方案、任務調度場景解決方案、地圖開發平臺場景解決方案、支付開放平臺場景解決方案、圖表可視化場景解決方案。通過分析實際業務來學習這個解決方案技術集,完全可以達到中級甚至高級工程師水平。

全網最新的java學習路線圖

就問你豐不豐富吧。


433足球俱樂部


其實無非就是自學和培訓兩種學習方式,自學的話時間比較長,你需要準備系統的學習課程,實戰項目,要和企業相結合,最好有人指導,而且要有比較強的自制力和耐心,堅持學習,就業的時候有相關的人脈,那就完全沒問題的。如果條件不足,那就可以走培訓,選擇一個口碑好的培訓機構,儘量多對比,選擇老牌機構,更靠譜,進去只要好好學就可以,其他不用太操心。

不知道你現在基礎怎麼樣,我也是學習這方面的,目前在百戰程序員系統的提升。之前是老師給我們推薦的高淇老師的免費java300集,講的確實不錯,然後一直學習他家的資料,做了十幾年了,java一直是王牌,而且課程是結合項目學習的,企業合作也是實實在在上門招聘的,你也可以關注一下,可以先通過免費資料瞭解下教學風格,多加對比。



我是雙魚座2020


Java學習一般有一下內容

1、Java開發:打好Java語言基礎,深入理解Java面向對象核心思想,掌握Java集合框架、多線程、IO、網絡編程以及J2SE8.0新特徵

2、Web及移動前端頁面、Java Web開發技術、jQuery+AJAX、MySQL數據庫、web應用開發實戰

3、SpringMVC框架、MyBatis框架、Spring框架整合、Hibernate框架、Struts2.0框架、企業開發框架實戰

4、Java常用組件、Maven項目構建、SVN\\GI、T源碼管理、Linux入門、Oracle數據庫、NOSQL、高發並架構體系

5、企業開發實戰,真實企業項目案例逐項實戰,掌握需求分析、數據庫設計、詳細設計、團隊合作。


小墨墨愛音樂


分享一個學習路線,或者可以看看優就業的網課

第一:先學習Java的核心庫(JavaSE)

JavaSE的內容包括:環境搭建、基礎語法、面向對象、數組、集合、常用類、IO流、反射機制、網絡編程……..

第二:MySQL數據庫

搞定一門數據庫相關的課程,例如:MySQL、Oracle,搞定一個就可以了,目前互聯網公司,例如:京東、阿里等,他們都在使用MySQL,所以建議大家學習MySQL數據庫,小巧輕盈,免費,由於互聯網公司的項目訪問量比較大,所以一般會搭建數據庫的集群,可以一個數據庫不夠,所以需要搭建數據庫集群,為了應付高併發。

第三:WEB前端

以後從事Java開發,從事JavaEE開發,主要開發的系統結構是B/S結構的,B指的是Browser,S指的是Server。要開發這種系統,B端要會,S端也要精通。WEB前端的學習就是學習B端技術。包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底層對JS進行了封裝)…

第四:WEB後端(JavaWEB)

WEB後端其實可以是很多種不同的編程語言,例如:PHP、C、C++、Java,他們都可以進行WEB後端的開發,我們既然選擇了比較火爆的Java,那麼我們學習的後端一定是基於Java語言實現的,包括:Servlet、Filter、Jsp、EL、JSTL、MVC架構模式、數據庫連接池(阿里巴巴的Druid連接池)、代理模式(動態代理)。另外後端學習了之後,還要學習一個異步編程技術AJAX。(完成網頁的局部刷新,AJAX其實不屬於後端,是前端瀏覽器上的程序。)

學習到這裡為止,表示Java基本/基礎的技術已經學完了。但是這些最基層的技術在實際的開發中不會使用的,一般為了開發效率,都會使用大量的提前封裝好的框架。

第五:最好能夠停留下來,做一個項目。

這個項目最好能將之前所學全部串起來。(對以前的知識點進行鞏固。)

這個項目最好是基於:Servlet + Jsp+AJAX+jQuery+MySQL….

在這個項目的開發過程中:大家一定要記住,目前比較好的項目自動構建工具:Maven是一定要精通的。還有一個就是團隊協作開發:Git/SVN是一定要會用的。(目前使用Git比較多一些。)

第六:學習高級框架

Spring、SpringMVC、MyBatis(持久層框架,這個框架互聯網公司使用比較多,因為互聯網項目需要進行SQL優化,MyBatis的SQL優化很方便,所以大部分都是使用MyBatis)

Struts2(很少使用了,使用這個的肯定是很老的項目)、Hibernate(傳統企業,還有政府等可能會使用Hibernate。)

SpringBoot(新項目大部分使用的都是boot了。所以在項目中遇到還在使用SSM的一般都是遺留項目。)

當你走到這裡之後,基本上你可以出山了。

第七:最好能有一個大型項目是使用框架來完成的。

SpringBoot做一個項目。

Spring SpringMVC MyBatis做一個項目。

這個項目最好是找幾個人搭夥做一下。體驗一下團隊協作。(尤其是使用一些協作的工具。怎麼溝通,怎麼寫日報,怎麼開會,怎麼使用Git,等等….)

第八:學習一些分佈式相關的一些技術, 能夠應付高併發的一些技術,例如:分佈式框架Dubbo、SpringCloud、MQ、Nginx、Redis…..


漢武帝在武漢加油


學習java除了要有一定的自學能力外還需要有好的學習資料。我們老師之前給我們分享了百戰程序員高淇老師的java300集資料,是最全的java入門資料。資料是分小節進行學習,每個視頻在10-20分鐘不等,學習的時候不會出現技術點的堆砌,也可以靈活安排時間學習。

這個課程從最基礎的語言發展史到基礎語法,再到小遊戲項目實戰,可以將自己學到的東西現學現用,更能牢固的掌握。看這個資料學習,你一定會快速的入門。


分享到:


相關文章: