回覆列表
  • 1 # SHins

    怎樣自學java,不緊深深苦惱著廣大的java學習者,也深深地苦惱著我。一般來說有自學和去培訓機構2個選擇,培訓機構的好處就是能在短時間內系統地教授你大量知識,至於你能不能接受不管,而且培訓機構要繳納一二萬的學費,很多人看見昂貴的學費望而卻步。我當初也差點去培訓,在猶豫中最後還是沒去,自學了將近一年,現在終於找到了一份初級程式設計師的工作,工資勉強還可以,雖然趕不上我那厲害的室友(後面說明),但總算是入行了,在這裡我發表一下自己的自學經歷。

    自學無疑是看影片,看書,然後敲程式碼。如果你是沒有一點基礎的,我建議你先看影片,因為看影片有一個互動的過程,遇到不懂的可以及時從老師的話語中找到答案,疑惑解除了你才可能繼續學下去,這是很正常的,尤其是對java初學者來說。想當初我自學java的第一天,裝jdk配置java環境變數都花了整整一天,我一度想要放棄,後來還是請教我那牛叉的室友(對他來說非常簡單,畢竟他一畢業就拿了北京京東總部的offer)才解決了這個問題。

    前面說到我學java的第一天就想放棄,於是我又去找我那位大神室友,問他怎麼學java,他就給我推薦了一個非常好的java自學網站:

    how2j|例項驅動|全棧java工程師零基礎自學網站

    當點進頁面的第一眼,我就被這網站乾淨整潔的風格所吸引,沒有廣告,整個介面十分清爽,最重要的是這個教程很多例子都是以lol為例子介紹的,這樣學起來就顯得非常有趣,講解通俗易懂。要知道我大學可是花了很多時間玩lol的,因此很多知識透過這樣的類比講解我很快就能理解,學起來就很上癮,我經常達到廢寢忘食的地步,這是教程截圖:

    how2j教程一覽

    從教程截圖我們可以看到,裡面包含了基礎,中級,高階,前端,框架,實戰專案,資料庫,各種實用小工具,因此特別適合自學!當我學完了基礎知識後,我依舊在這個網站裡找到了一個非常好的實戰專案:

    JAVA WEB 專案教程-模仿天貓整站 J2EE版

    這個專案真心是個不錯的實戰專案,為什麼這樣說呢?因為現在網上的java專案實在是太多了,你隨便一搜一大把,可是有幾個是你看得懂的呢?又有幾個是下載下來是能成功執行的呢?專案包即使是對的你又怎麼配置呢?......當面對這一系列問題的時候,對於一個java初學者來說我想很多都會放棄吧,下載下來的專案很快就會成為垃圾被丟掉,你永遠會只停留在寫"Hello,World"的階段。而這個專案一開始就有一個可執行的專案包供你下載下來執行,然後你按照站長教程一步一步的配置起來就可以運行了(注意站長對配置的每一步都進行了細緻到原子層面的講解,完全是傻瓜式教程,小學生都可以學會),當你看到執行起來的天貓商城專案是不是有一點竊喜呢!執行成功後項目的截圖:

    仿天貓網站截圖

    別得意,這只是萬里長征的第一步!執行起來的專案其實和你半毛錢關係都沒有,這又不是你寫的專案。

    於是我們偉大的站長又從從零開始對整個專案進行了傻瓜式的講解:

    第一步:需求分析

    要知道做任何一個專案都是從需求分析開始的,這也是我們實際開發中的第一步,比如這個專案需要做前端展示頁面,後臺維護頁面以及頁面與伺服器和資料庫的互動:

    第二步:表結構設計

    表結構設計可謂是一個專案的基石,整個專案的執行都要以資料庫的資料作為支撐,所以表結構設計得是否合理對於專案的業務支撐起到了非常關鍵的作用。站長精心設計了每一張表,講解了每張表之間的關係,例如一對一,一對多,多對多。此外還把每張表與對應的頁面內容對應的截圖,讓你從視覺上清楚地知道每張表的作用。

    第三步:程式碼開發

    這個專案是按層次結構開發的,包括了實體層,Dao層,servlet層。由於只是一個模擬專案(但已經很接近實際專案了),沒有實際業務大量資料互動的需要,所以沒有service層。針對比較複雜的類,站長還進行了細緻的講解。比如做分類管理的servlet的時候,需要增加,刪除,編輯,修改,查詢5個服務端功能。如果按照傳統的web.xml配置servlet的方式,一個路徑對應一個servlet的思路,就需要設計5個servlet,並在web.xml中配置5個路徑:而光是後臺做分類,產品,屬性,產品圖片,使用者,訂單這6種管理,總共就需要30個servlet,而且在web.xml中進行配置,配置檔案就會相當臃腫,並且容易出錯。站長就充分利用過濾器的原理,把每種分類下的5個servlet合併成了一個,這種設計思想就類似於struts2框架的設計思想。現在servlet就只剩下6個了。

    第四步:專案中每個知識點的講解,當你遇到問題有不懂的問題,站長還進行了專門的影片講解

    第五步:每個知識點的講解都給出了可執行的檔案下載

    總之,你在專案開發中會遇到的一切問題,站長都幫我們提前想好了。你按照這個傻瓜式的講解進行傻瓜式的專案練習,在這個過程中你就會慢慢體會到了實際專案開發中的一些問題(要知道這個專案是模仿天貓商城的專案,天貓商城的業務複雜性我想大家都知道吧,這個專案除了資料量沒有真正的天貓商城大之外,其它的已經很接近了),而你遇到的每個問題我們偉大的站長都有詳細的教程講解,按照教程做完一遍後,可以說你已經掌握了整個web開發的流程了,只不過你還不太熟練,這時候你再揹著教程再做一遍,你就算已經學會javaWeb開發了,之後你想要在專案上新增什麼功能都是輕而易舉的事情。

    專案入口:JAVA WEB 專案教程-模仿天貓整站 J2EE版

    經過以上的步驟你已經算得上是一個javaWeb開發人員了。可能你編寫的程式碼還不是很高效,但是你至少能跑通整個javaWeb開發流程了,能看到真實的頁面,頁面與頁面的互動以及頁面與資料庫的互動,而不在停留在控制檯輸出字串的階段。接下來你就應該學習java框架提高開發效率。現在都說流行SSM開發,其實這個要看你公司的需求,公司要求你用什麼就用什麼吧!當你框架也掌握了之後,你已經是一個合格的初級java程式設計師了,但離java高階工程師或java架構師甚至是java專家依然很遠,很多java開發人員窮其一生都未曾達到這個標準。當然你要成為什麼樣的人完全取決於你自己,想要在Java的路上深造的話,這時你就應該去看一些官方的文件啊,加入一些開源專案,瀏覽一些著名的程式設計網站啊,看一些java方面比較高階的書啊,至於該瀏覽什麼樣的網站和看哪些書,網上一搜一大把,這裡就不列舉了......

    以上就是我這將近一年來的java自學過程,當然每個人有每個人不同的學習方法,找到適合自己的方法才是最重要的,還等什麼,趕快開始學習java吧!

  • 2 # IT程式設計愛好者

    更建議你去學習python ,因為隨著雲計算的發展,越來越多的開源軟體都開始使用python ,並且python 的學習成本更低。僅代表個人見解,不喜勿噴!

  • 3 # 網際網路自由職業者

    感謝邀請,對於你提出的這個問題,我可以肯定的告訴你基本不可能,因為我曾經嘗試過走通這條路,但是最後還是敗給了時間,目前身邊的很多人也是沒有走通這條路,所以我可以肯定的告訴你不可能。這裡我可以跟你講講具體原因,30歲自學JAVA,除非你天賦異稟,否則難以有所大的成就,只不過淪為一個普通的碼農而已,如果想做一個普通的碼農,賺幾千塊一個月,倒也無可厚非,但是你想透過學習JAVA之後創業,開展自己的專案,那麼你這是本末倒置了,你把學習JAVA等同於創業與開發自己的專案,這是不合邏輯的,舉個例子就一個APP開發而言也不緊緊限於JAVA 的使用,那麼你如何一個人做全才呢,是不是創業需要什麼我就去學什麼呢,這裡我從兩個方面幫你分析一下。

    學習JAVA的目的

    學習JAVA的目的你只能定義為自己喜歡這個專業,想要多掌握一門技能,如果你學習JAVA的目的是為了創業,那你已經開始走彎路了,程式設計師這門專業,越年輕越被人重視,過了30歲你再去學習,我不知道你能否學成,就算學成,是否有大公司會招聘你這個半路出家的人去開發專案呢。怎麼跟那些剛出校門的大學生去職場競爭呢,首先不談思維能不能跟的上,就算你思維活躍,想法很多,精力能跟的上嗎,每天的加班,長期的自我折磨,能承受得了嗎。

    創業需要你做什麼

    創業是個大課題,你想要透過學習JAVA去創業,肯定是想要做網際網路專案,那麼你知道網際網路專案最重要的是什麼嗎,是運營,是全網運營人才,不是什麼開發人才,我就是計算機專業出身,碼農出身,我以前也有你的這個想法,走了一些彎路,但是我及時調整了自己,現在透過兼職,走上了自由職業的道路,我主要透過兼職的形式給企業和培訓機構做網際網路運營,幫助企業自媒體營銷、實體店活動引流,目前合作的客戶越來越多,實力也越來越強。最近半年,我的工資和提成已經突破了80萬,也有了自己的小房子、車子。也算是通過了創業,事業小有成就,所以如果你目的是為了創業,目前要做的不是去學習JAVA,而是去學習掌握網際網路運營能力,掌握如何透過網際網路幫客戶營銷或者幫自己營銷。

  • 中秋節和大豐收的關聯?
  • 標準規格鋁型材和非標的有什麼區別?