AVA學習需要什么基礎
隨著Java這種語言的廣泛運用,越來越多從事開發的人員開始學習接觸這門課程,那么,Java學習需要什么基礎?Java剛剛入門應該接觸哪些知識呢?Java入門應該學習什么內容呢?
首先要說明的,JAVA有三個大的方向(J2se,J2me,J2ee),走不同的方向可能學的技術和要花費的時間可能有所不同。我是搞web方向的(J2ee),我學Java除了以前一些簡單的C語言語法外,沒有太多的編程基礎,我以前一直認為編程要有很強的數學和英語功底,現在看來這也不是必需,只要有一定的邏輯思維能力和掌握一些常見的計算機詞匯,還需要具備一定的自學能力,因為軟件開發工作是需要不斷學習的。
其次,我想說下我的學習過程,我在網上下載了JAVA教學視頻,將Java基礎從頭到尾看了一遍,將上面的代碼基本上跟著敲了一遍,然后我把Java基礎的書看了一遍,一本書看完包括上面的習題大概做一遍差不多一個月。這時你對Java的語法和基本知識應該都有比較充分的認識和了解了。
然后,再做一些小項目,跟著視頻上的步驟做,最好能自己獨立再寫寫,能寫多少是多少。一般網上比較新的免費的項目庫很不好找,因為項目庫是需要實時更新以保證適合市場需要的,而它的升級和更新是需要錢的,所以去報一個培訓中心利用它強大的項目庫進行實戰操作是個很好的選擇。
操作一段時間之后,你對Java已經有了一定的感覺,就要開始選擇你的發展方向了。我選擇了J2ee,如果你也是想走這條路,你可以接著看關于J2ee的視頻,先是html+Js+css,然后Jsp+serverlet,再看struts+spring+hibernate等一些框架。同時可以看一些大的培訓機構的關于設計模式的視頻,最好是IT牛人錄制的,當然數據庫也得學下,然后加上做項目的經驗累積,半年就差不多可以出去工作了。
如果你做其他方向的話我不是很了解。再說下我個人的看法,J2me和J2se好像前景沒J2ee好,不過我有同事是做android平臺開發的,這個不需要J2ee的知識,你可以去買本android的看看,這個方向貌似很有前途,你應該也常聽說android平臺的手機,如果走這方向可以再學一下linux知識和c的知識,因為這個平臺底層是這些,這也不是必要。
說了這么多希望對大家能有所幫助。最后再說一句,學東西,最重要的是動手,只有動手做了才能深深的理解,牢牢的記住。
由于Java開發涉及到比較多的領域,每個領域需要具備的知識結構也是有所區別的,所以就需要根據領域進行分別闡述。由于目前Java主要的應用集中在Web開發、移動互聯開發和大數據開發三個領域,所以下面就從這三個領域進行分別介紹。
Web開發領域在Web開發領域,Java的主要知識結構包括三個部分,分別是Java基礎、Java分布式開發和Java企業級開發。Java基礎部分知識是所有方向都需要掌握的,也是學習Java的一個難點,包括Java的面向對象概念、面向對象編程過程以及異常處理、IO、集合和多線程等內容,基礎部分需要重點掌握的概念是封裝、繼承和多態(這部分細節可以參考我之前在頭條寫的文章)。
Java分布式開發是學習Web開發的重要階段,這個階段要了解分布式開發的基礎,并采用分布式的方式完成功能的部署。Java的分布式開發可以從了解RMI、Hessian(可以跨語言使用)、Burlap(XML格式)、HttpInvoker、Web service這些方式開始。
看一下Hessian的實現過程:
Java的Web開發還需要學習一些前端的內容,包括HTML、CSS以及JavaScript相關內容,建議系統學習一下JavaScript語言。
Java的企業級Web開發有兩套方案,一套方案是JavaEE,另一套方案是輕量級框架,代表技術是Spring(SpringMVC、SpringBoot、SpringCloud等)方案。由于目前JavaEE已經交給Eclipse基金會管理了,并更名為Jakarta EE,未來的發展還有待觀察,所以目前更多的程序員選擇Spring方案。
移動互聯領域移動互聯領域的開發除了要學習基礎的Java知識以外,還需要學習Android開發相關知識和云計算相關知識。
Android開發包括幾個大的內容,包括Activity、Intent、Service、Fragment、SQLite等內容,Android開發需要學習大量的圖形組件開發知識,以及對應的事件處理方式,總的來說,Android部分的內容雖然比較多,但是難點并不高。看一個簡單的例子:
移動互聯開發還需要學習一些云計算方面的知識,因為移動互聯開發往往需要進行云端部署。通常情況下,移動互聯開發也涉及到后端的服務開發,但是往往后端服務開發都由Web開發人員來完成。Android的后端服務可以使用Java、Python、PHP等語言來開發,可以根據具體的應用場景進行開發語言的選擇。
大數據領域目前Java在大數據領域也有廣泛的使用,大數據開發涉及到的內容比較多,也有一定的難度。由于大數據開發有諸多崗位,不同的崗位有不同的知識結構要求,總的來說集中在操作系統、大數據平臺、算法設計與實現等幾個部分。
大數據平臺目前主要以Hadoop和Spark的應用比較多,Hadoop平臺有健全的生態,以及大量成功的案例。但是,Hadoop平臺配置比較麻煩,需要一個系統的學習過程。
我做Java開發多年,目前主要的研究方向是大數據和人工智能,也在帶相關方向的研究生,我會陸續在頭條寫一些關于大數據方面的文章,感興趣的朋友可以關注我的頭條號,相信一定會有所收獲。
如果有大數據方面的問題,也可以咨詢我。
謝謝!
java只是一門編程語言,客觀的說,零基礎也可以學。不過有英語基礎要好許多,畢竟絕大部分變量、關鍵字等都是用英文表示的;還有就是數學好,邏輯思維能力強學習編程更容易。
作為零基礎的興趣愛好者,學習java可能要比一般人付出的努力多一些。只要自己有學習的動力和自學的能力,一切都不是事,網絡上關于java的學習資料非常多,很多編程論壇、學習網站,還有很多網站是免費在線視頻教學的,自己制定計劃跟著網上視頻學習,或者自己下載電子版書籍以及相關教學視頻學習。實在找不到資料的可以私信本人,本人具有全套學習資料,可以免費貢獻給大家。
學習路線是:先學習java SE,也就是java基礎部分,然后java web,SSM框架實戰開發;若是打算學習安卓APP開發,可以學完java基礎部分直接學習安卓方面的開發內容。
總之,學習編程一定要多敲代碼,多練習,熟能生巧,實踐多了慢慢就掌握了。