想學習Java和大數據,怎麼學比較好?

Yuraku


說下自己學習java的經歷

1.當時大二模模糊糊,上課大概學了數據結構,c語言。數據結構是非常重要的基礎,一般大學的數據結構對大多數工作已經夠用了。

2.看某一方面的視頻進行編程入門,邊看邊寫,找編寫代碼的感覺,去理解何為面向對象。學習spring boot,mybatis,hibernate,spring mvc。這時候你可以拿著寫個什麼xxx管理系統練手。

3.完成2,相信你已經熟悉了java基礎,比如集合,反射,多線程。常用的框架也熟悉了,這個時候應該可以去實習,或者有份工作了,在工作中去實踐。然後可以去讀《深入理解java虛擬機》,《java併發編程實戰》《java8 實戰》。

4.這時候可以去看設計模式了《Head first Design Pattern》,然後讀jdk util包,spring源碼去體會設計模式。帶著為什麼要這樣實現的問題去看源碼。

5.這時候你的java底子應該不弱了,那應該要去理解一些分佈式系統的東西,比如分佈式事務,鎖,消息中間件,瞭解spring cloud,Dubbo,學會微服務治理。想象一下你設計的系統如何抗住雙11.

6.好吧感覺已經很厲害了,但是如何快速迭代開發呢?devops是什麼?docker,k8s是什麼?如果快速敏捷的開發,如何管理團隊,知識需不需要進一步提升和不錯?計算機數據結構和算法需不需再拿出來昇華?

總結:程序=算法+數據結構 這才是最根本最重要的,技術路上能走多遠,基礎非常重要,多學點數學,計算機科學這些百利無一害。還有保持一顆好奇心,探索浩瀚的計算機科學實踐。不僅僅是java。


一分鐘java學習


這是一個非常好的問題,學習Java和大數據技術是目前的一個學習熱門,大數據自身廣闊的發展空間將在未來創造出大量的就業和創業機會,所以學習Java和大數據是一個非常不錯的選擇。

首先要搞清楚一件事情,那就是Java是編程語言,而大數據則是一系列技術的統稱(圍繞數據核心)。在大數據技術體系中,Java扮演著重要的角色,但是Java不等於大數據,大數據也不等於Java。

要想學習Java和大數據,要規劃一個合理的學習路線,可以按照以下學習路線展開學習:

第一步:學習Linux操作系統。學習Linux操作系統的使用是學習大數據的第一步,操作系統是計算機知識的基礎,通過學習Linux操作系統能全面的掌握操作系統的體系結構、功能組成、資源管理、網絡交互、功能擴展等一系列基礎內容,而這些內容對大數據的學習來說是非常重要的。學習Linux操作系統還有一個原因,那就是大部分開源大數據平臺都是基於Linux操作系統部署的,可以為後面的學習打下一個紮實的基礎。Linux操作系統有較多的選擇,其中CentOS和Ubuntu是比較常見的選擇。

第二步:學習Java編程。Java編程的學習會串聯很多相關知識的學習,包括數據結構、算法設計、數據庫、網絡等一系列內容,所以學習編程語言是學習計算機知識非常好的方式。學習Java語言首先要搞清楚面向對象的基本概念,掌握面向對象的編程過程:類的定義、對象的創建、方法的調用,看一個例子:

接下來要搞清楚封裝、繼承和多態的概念,可以通過一個例子來完成這三個概念的描述:

這三個概念中,多態的概念相對來說要稍微複雜一點,在對概念本身還沒有深刻理解的情況下,先把表現形式掌握住,然後再通過實驗慢慢理解。例子中只描述了多態三個定義中的第一個,另外還有兩個定義,分別是父類定義子類構建和抽象類定義實體類構建,多態還有兩個“方法”,分別是方法重載和方法重寫(關於多態的細節,大家可以參考我之前在頭條上寫的文章)。

Java的基礎部分還有一個比較重要的內容就是多線程,多線程的內容比較多,我在頭條上寫了一個系列文章,專門闡述Java併發編程,一共寫了20多篇,感興趣的朋友可以關注我的頭條號並查看對應的文章,這裡就不贅述了。

接下來是學習Java的Web編程,很多人對學習大數據是否需要學習Web編程有一定的疑問,其實做大數據開發一個很重要的內容是做落地應用的開發,所以學習Java Web編程是完全有必要的。Java Web編程的官方標準包括三個大的技術模塊,分別是JSP、Servlet和JavaBean,但是目前Java Web開發更多在採用微服務的方式進行,比如SpringBoot和SpringCloud的應用比較普遍,畢竟這種方式比較方便。

SpringBoot的開發方式進一步簡化了繁瑣的配置,讓開發人員可以更專注於業務邏輯的實現,而SpringCloud則是對SpringBoot的封裝,提供了資源的整合,對大量的中小型Web應用來說,這個解決方案是非常實用的(關於SpringBoot和SpringCloud的開發細節,我將陸續在頭條上跟大家分享)。

第三步:搭建大數據平臺並進行功能開發。在完成了基礎部分的學習之後,緊接著就需要搭建大數據平臺了,作為初學者來說,Hadoop平臺是一個不錯的選擇。Hadoop平臺是使用Java語言開發的,同時Hadoop平臺部署在Linux系統之上。

Hadoop平臺的基本構成包括Hadoop Common、HDFS、YARN、MapReduce以及Ozone:

同時,與Hadoop關聯的產品就非常豐富了,包括以下部分:

這些產品都是Hadoop生態的重要組成部分,當然這些內容可以按步驟學習,在學習的初期對這些產品有一個簡單的瞭解還是很有必要的,目前Spark得到了廣泛的應用,因為Spark速度更快,也更輕一些(關於這些大數據產品的具體功能和用法,我會陸續在頭條上跟大家分享,歡迎關注我的頭條號)。

在Hadoop平臺下可以使用Java進行功能開發,目前Java的使用也比較普遍。

大數據的學習是一個漫長的過程,建議跟著項目遞進式學習,這樣效果會更好一些。

大數據是我的主要研究方向之一,目前我也在帶大數據方向的研究生,我會陸續在頭條寫一些關於大數據方面的文章,感興趣的朋友可以關注我的頭條號,相信一定會有所收穫。

如果有大數據方面的問題,也可以諮詢我。

謝謝!


分享到:


相關文章: