自學java需要規避哪些坑?

IT資訊i


美好一天很榮幸為大家解答這個問題,讓我們一起走進這個問題,現在讓我們一起探討一下。

以下我為大家分享,我個人對這個問題的看法與想法,希望我的分享能給大家帶來幫助,也希望大家能夠喜歡我的分享。

一、累覺不愛

同學甲:提起自學就頭大,每天晚上看書都到深夜,感覺很累。。。

小編:學習如果感覺累,並且效率不高,那一定是沒找對方法。

死記硬背得不到真知識,投機取巧學不到真本領;紙上談兵學不到真本事,

閉門造車結不出好碩果。

二、似懂非懂

同學乙:看了很多相關學習視頻和書,看完好像懂了,自己一實踐就遇到諸多問題,煩死了。。。

小編:紙上得來終覺淺,要知此事需躬行,其實我認為學習更多在於實踐而非知識本身。

遇到問題很正常,甚至是挫折,但一定要敢於面對,才可以真正去解決它。

三、人堅不拆

同學丙:自學堅持了一個月,我就堅持不下去了,毫無動力,有些時候都感覺自己做的是無用功。。。

小編:如果學習是一件容易的事,就不會有那麼多人平庸一輩子了,每個人都會遇到堅持不下去的時候,原因是沒有持續的激勵和自我成就感促使我們。

如果在勝利前卻步,往往只會擁抱失敗;如果在困難時堅持,常常會獲得新的成功。

四、雜而不精

同學丁:我自己下載了很多java的自學資料,可以說整個體系都有,很多還是一些名師的課程,但學完之後還是沒有很強的項目操作能力。。。

小編:這也就是我們常說的雜而不精,其實知識都是死的,很多老師的教學風格不一樣,你只要從頭到尾按照一個老師的思路去學習才能完全掌握他課程的精華所在。術業有專攻,找到一個適合自己的學習導師很重要。

五、難而無解

同學丁:我自學有一段時間了吧,可是學習過程中老是遇到自己聽不懂的知識點,然後去網上搜,搜了很久都得不到解決,真的讓我很苦惱。。。

小編:雖說如今網絡很發達便捷,但每個人所遇到的問題是不同,不可能所有問題網上都會有相應的解決方案和思路。

能夠到達金字塔頂端的動物只有兩種,一種是蒼鷹,一種是蝸牛。

六、無題可練

同學戊:我自己陸陸續續自學有一年了,也搜了很多小項目去練習,但一旦遇到一些具體的項目我就無從下手,思緒很亂。。。

小編:目前網上的很多項目,我感覺還是不太適合初學者,因為很多對於技能的熟練度和邏輯思維能力要求很高,而那些專項的有針對性的項目網上又很少,所以導致大家越來越對自己沒信心。

用理論來推動實踐,用實踐來修正或補充理論。

七、無師可點

同學己:我對自己自學的能力還是很認同的,一些小的項目現在都能獨立完成,但始終無法去做一些稍微難的項目,沒有一個好的思路,有沒人指導,無法精進。。。

小編:無論是自學出來還是已經學習畢業的人,他們其實都和你情況差不多,小項目都可以寫出來,但大項目因為缺乏經驗,完全沒有思路,所以有個名師指導將會讓我們成長的更快一些。

人生需要四種人:名師指路,貴人相助,親人支持,小人刺激。

八、浪費時間

同學庚:我自己自學了快6個月了吧,目前還是停留在JVM調優上,跳不過去,學的都快吐血了,浪費了太多時間在這個上面。。。

小編:自學就是比較耗費時間,而且很多難點遇到了也沒辦法快速跳過去,就算到最後查閱資料和尋求幫助,也一定程度上佔用了我們很多學習時間

合理安排時間,就等於節約時間。

九、毫無實戰

同學辛:我自己自學完後,也練了很多項目,最後自信的去面試,人家問了幾個開發過程中會遇到的問題如何解決,讓我給出解決思路,我瞬間懵逼。。。

小編:知識很大程度都是死的,只有活學活用才能更好的讓我們掌握它們,而且一些項目的坑需要擁有大量的實戰經驗以後才能填,所以一些企業級的實戰項目我們還是需要去兌多去練習實操。

不登高山,不知天之高也;不臨深溪,不知地之厚也。

在以上的分享關於這個問題的解答都是個人的意見與建議,我希望我分享的這個問題的解答能夠幫助到大家。

在這裡同時也希望大家能夠喜歡我的分享,大家如果有更好的關於這個問題的解答,還望分享評論出來共同討論這話題。

我最後在這裡,祝大家每天開開心心工作快快樂樂生活,健康生活每一天,家和萬事興,年年發大財,生意興隆,謝謝!




科技老3


哈哈,關於學習Java是多年前的事了,不過事情我現在想起還是記憶猶新,我以前也有過這樣的困惑,因為當時是一家公司的IT負責人,司業務需要進行一些大數據類的開發,但之前整個團隊都有沒有這方面的開發經驗,團隊成員人也只會寫一些shell和Python之類的腳本,並且他們都比我忙,所以決定自己來,我學這個的時候35歲,如果你年紀比我小的話,那恭喜你你一定會學的比我好,我也經歷蠻多曲折,分享出來給你參考,不見得一定適合每個人,但可以作為一家之言參考參考。


用一句話說,我認為比較有效的學習方法是儘快找一個業務相關的(沒有就想一個)簡單的小項目馬上著手去做,不要等基礎全學完了再開始。


我的過程是這樣,一開始也是非常迷茫,沒有頭緒,找了很多這方面的朋友(很有經驗的高手)請教,他們的答案如出一轍,就是讓我看《Java編程思想》,並且有三個兄弟都從他的書櫃了拿出那本《Java編程思想》第四版然後嘴巴吹一吹上面的灰,讓我拿回家看,我確實也看了,但痛苦就從此開始了,這本書足足用完了我兩個月的業餘時間,終於有一天看完了,合上書,閉上眼睛想一下,我記住什麼了嗎?結果發現除了 String str = "Hello World"和System.out.println(str) 之外,好像其他的什麼都沒記住。不說大數據開發了,到那一刻為止我連如何讀取一個文件都記不住,也許是我年紀大了記性差的緣故,也許是我天賦不夠異稟,但是無論如何我發現這個方法不適合我,我不適合強記一些沒有邏輯的符號,所以我決定換一種方式。


第二天上班,我把那本朋友送我的《Java編程思想》帶在身上,到辦公室就開始找一個小項目開始做,第一個小項目是改寫我原來用shell寫的一個服務器系統記錄文件(log) error信息檢查過濾的小小應用,邏輯非常簡單,就是把公司的服務器每天產生的logs文件一行行讀出來,過濾出裡面有沒有包含error這個關鍵字,有的話就把這行過濾出來然後把附帶的一些信息比如服務器的IP地址和主機名也一起讀出來,我就能知道那臺服務器產生了錯誤信息,讓維護的小夥伴去看看發生了什麼事情,是否嚴重,是否需要馬上處理,就是這樣簡單的業務邏輯。


這個小應用雖然簡單,但是他讓我真正開始學會了一些基本有用的東西,比如:

第一,開發工具是什麼,因為記性不好,我需要有代碼提示的開發工具,比如IntelliJ IDEA 就很適合我,打代碼的時候輸入首字母就會出提示,完美。


第二,如何用Java打開一個文件流按行讀取信息,這個時候你就要學到IO流的API,這個時候你就要關注Java的IO流有哪些?什麼是字符流什麼是字節流,他們適合怎樣的用途,如何創建一個IO流的對象等,其實這些在《Java編程思想》裡面都有,但看書就是記不住,可一旦你通過查資料把它用到項目中馬上就記住了,比如怎麼區分字節流和字符流的呢?你使用的過程中查看API的時候你一定會發現FileInputStream,FileReader,FileOutputStream,FileWriter他們都是用來創建輸入輸出流的,用哪個好呢?查一下書你就發現,帶有Reader和Writer的就是字符流,其它的就是字節流,字節流可以讀寫一切格式的文件,但字符流只能讀取文本文件(簡單說就是記事本能打開不亂碼的文件),這些如果你只是從書上看了,看十遍也會在兩個小時內忘掉。


第三,你要查找不同的目錄,所以你可能要用到遞歸,第一次寫遞歸,你多半會寫一個死遞歸出來,然後摸摸鼻子繼續查資料,哦原來沒有設定出口條件,好這問題解決了,我的遞歸終於可以把目錄和子目錄下的文件全部都讀出來了,好嗨喲~ 感覺人生到達了高潮,你會試著讓你的遞歸去查找一個很深的目錄,裡面有很多層文件夾,然後你發現內存溢出了,瞬間又回到了現實,抓抓頭髮又查資料,哦原來遞歸次數不能太多,它不能上天跟太陽肩並肩的,好,到這我學了遞歸的用法。


第四,在這個小應用裡面你還會用到異常處理 try ... catch,應為你要打開文件流,可能會出現異常,所以就要異常處理,查書,查資料,上網搜..... 但無論如何你不會覺得無聊,你會快速的得到答案並且解決你的問題,會覺得興奮並且有成就感,感覺你能開掛似的。


當然,還有很多別的事可以碰到.....

然後你終於寫完了,在開發工具上運行也沒問題了,你才突然意識到,怎麼讓它在服務器上運行啊?然後你又學會怎麼打jar包,怎麼讓它在服務器上運行,然後提交到服務器上,你又發現服務器上根本沒裝java運行環境,接著你就學會怎樣配置Java運行環境 ......,然後你的小應用終於跑起來了,也運行正常了,也得到了你想要的結果,繼續嗨,把兄弟都叫過來,跟他們show一下你的作品,大家都看得眼睛閃閃的時候突然有個兄弟說:“老大,我剛剛偷偷的往你那個logs目錄下方了一堆含有error關鍵字的中文文件,我咋沒看到你的console上面有打印出來呢?”,我!......這孩子真會聊天 .......哎!


但他說錯了嗎?沒錯啊,這確實是個大問題啊,這很明顯這個應用沒有對目錄下的文件進行實時監控,這程序到現在為止根本不能用,當然你可以做個腳本定時執行,但每執行一次都要做文件的全量過濾,多笨啊?只是當你是個新手你很難在一開始的時候就想到這些,你把編程思想讀爛了不動手做出一個東西出來,你也想不到這些。接下來你又會學到使用Commons-io的monitor下的相關類對文件變化進行監控...... , 當然解決方案會非常多,比如還可以用開源的更穩定的flume對文件進行監控,按行發送給一臺裝有Spark/Storm的機器進行處理等等,這就更自動化了,但這一切都不是看哪本書能就在腦袋裡面形成的,一定是一步步一步步錯改出來的。


所以我個人感覺,最大的坑就是你總是在看書不做項目,無論多小的項目,只要做就能學到。

那麼照你這麼說不用看書是嗎?NO! NO! NO! 這又是一個坑,書一定要看,但是邊做邊看,更多的是查書,特別是在一開始的時候千萬不要花大量的時間k很厚的書,這隻會讓你感覺這件事情很困難,等到你做了一年半載了,覺得你看這類書不費勁並且越看越有味了,你再系統的看人家推薦的書,看書一定是愉快的,如果你看書的時候覺得很苦惱,那麼一定是看書的時間不對。

現在雖然很長時間沒做這樣的事情了,但是看到類似的書我還是會買,但多半不會從頭到尾看完,用什麼找什麼,看最厚的那本就是《Java編程思想》,把我坑的最慘。

下班了,希望大家一起來分享,分享過往,分享快樂,讓生活更加easy.


珠鄉二哥


首先祝願樓主早日康復!

俗話說傷筋動骨一百天,一點要注意飲食休息。

接下來回答你的提問——

自學JAVA需要規避哪些坑?

首先,你得想明白為什麼自學JAVA?是興趣,是工作,還只是作為了解?因為像JAVA這種技能,更多是一種功利性學習,如果沒有目標,你一開始就掉坑裡了。

然後,分析構建一下知己的自學能力模型,瞭解自己的相關基礎如何,如計算機基礎,編程概念,邏輯思維,思考力和專注力等。如果學習能力模型通過緯度值構建達標,那就成功避開學習力的坑,同時也強化了你自己自學內力引擎,可以啟動了。

接著,你得建立你對這門技能的認知支柱體系,比如說,是什麼,為什麼,哪裡用,怎麼用,從哪入手,達到何種水平等。如果只是整本書悶頭學,學到哪裡是哪裡,如果沒有毅力的話,等著你的就是放棄,甚至挫敗感。換句話說,就是建立了對JAVA的技能知識支柱,你就可以在這個架構中有針對性的學習力。就像鋼架結構的樓房,支柱起來了,結構有了,你是就在裡面開搞了,是強化成摩天大廈還是小平房,看你的取向了。或換種說法,程序員,架構師,項目經理,技術總監等等。

跟著,快速的掌握基礎,學會簡單應用,強化編程思維邏輯,換著法的夯實基礎。也就是說,對JAVA這張技能進行快速構建,形成從認知到應用的整體構建,相當於打通任督二脈,剩下的就是指哪學哪,只不過是補充技能樹的支脈罷了。在這個過程中,涉及對細節的過於深入,否則,你很容易把自己整到泥潭裡,這是個坑。建議自學的過程,更多的應該是照著練,先正確的做,培養風格和規約,等初步應用體系構建完成,學的都是正確的,樹立起了學習成效和信心,再起了解深入的和背後的原理機制,這樣效果會更好。

最後呢,一定要把會做到不理解的知識技能重新來認知,深入掌握理解,這樣能為後續企業化實戰提供優良的“底色”支撐。從而達到學有所用,用有所值。

……

不說了,有點多。

這是方法論層面的建議,望對你有用。畢竟,選對方法,那將是事半功倍嘛。

就這樣~

~~~~牛旦教育,學習解決方案專家~~~~


牛旦教育IT課堂


作為一名從業多年的程序員,同時也出版過Java編程書籍,所以我來回答一下這個問題。

首先,目前學習Java依然是不錯的選擇,Java在Web開發、Android開發和大數據開發領域都具有廣泛的應用,而且從目前的發展趨勢來看,未來Java將依然長期佔據主流開發語言的位置。

在學習Java的過程中,確實會出現一些所謂的“坑”,而且隨著Java的不斷髮展,這些“坑”也越來越多,其中以下幾個“坑”需要重點規避:

第一:學習路線。學習Java語言一定要有一個合理的學習路線,隨著Java的不斷髮展,一些技術也開始逐漸淡出主流解決方案,比如EJB技術目前就已經淡出了企業級開發領域,目前更多的解決方案集中在資源接口以及輕量級解決方案上,所以目前應該規避掉EJB技術。隨著JavaEE被交由Eclipse基金會管理,未來JavaEE的走向還有待觀察。另外還包括Struts框架、Hibernate框架等,都已經逐漸被取代。

第二:實踐路線。學習Java一定要有一個完整的實踐規劃,一方面要多做實驗,另一方面要注重實驗的質量,不能只關注數量。要注重階段性的綜合性實驗,實驗要有連續性並且能夠逐漸深入,同一類型的實驗不要重複太多次,意義並不會很大。

第三:聚焦。學習Java的初期不能把知識面拓展的太寬,一方面會影響學習的深度,另一方面也沒有太大的實際意義,應該抓住一個方向持續深入下去,這樣會取得更好的學習效果。不少初學者在學習Java的時候一味的追求知識的廣度,這樣並不會加強自己的崗位競爭力。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言!


IT人劉俊明


你好,我是你們的小可愛“Java聖鬥士”,每天分享Java相關技術,期待老鐵的關注!

如果是問自學Java,我最有發言權。在15年上崗工作之初,就處於一種完全蒙圈的狀態,但是憑藉著不錯的自學能力,如今已經成為獨當一面的Java中級開發工程師。

我來說一說自學Java應該注意的一些坑。

第一:自學Java千萬不要急於碰《Java編程思想》。這本書是Java編程的聖經是沒錯,但是如果你在還沒有形成足夠的編程經驗之前就妄圖學習這本書那隻能是自討苦吃。

第二:要從語法基礎開始。凡事總要循序漸進,一口吃不了胖子。語法基礎作為一門編程語言最重要的部分,你應該做到的就是信手拈來,一定不要對此鬆懈。

第三:一定要做總結。不論是多麼簡單的知識點,如果你忘記了,一定要在掌握之後做總結,推薦CSDN博客。

這三點,都是我個人認為非常重要的注意事項,如果可以做好這三點,應該可以順利達到一個入門的級別。後面的學習還需要不斷調整自己的學習方法,並找到適合自己的學習模式。

其實說應該注意的一些坑,我覺得真的有很多,但是這些只有自己親自去體會,才能夠記憶深刻。其他人能夠給你的只是一些膚淺的忠告和建議,但也會對你的方向起到糾正的作用。

希望可以幫助到你。

另外如果你希望學習Java知識,可以關注我的頭條號哦!





Java聖鬥士


學語言要效率高,必須要動手實踐。

看書一兩本就夠了,然後是上機練習。基礎知識掌握後,則嘗試進行項目開發,相關工具也要掌握。

切記:自己實現並修改,比看書強100倍。


碼農1號


沒有什麼是坑,任何踩過的坑都是經驗。

自學java,可以通過幾種方式

1.培訓班

培訓班是最快上手的一個途徑。有網課和培訓公司可選,顯然培訓公司不適合題主現在。

培訓班填鴨式學習是java入門最快點方式

2.看書

thinkJava java從入門到精通 java講義都是不錯的書籍

但是看書這個得看人。書看了但是記不住

3.看視頻

網上,網盤java快速入門的視頻有很多。


不管看書還是視頻。敲代碼的代碼數量肯定是不能少的。代碼量是很客觀的一個體現


神秘人小明


第一,學習順序,建議看一整套基礎視頻,然後再去看那些高深一點的設計模式之類的東西。

第二,肯定是要多寫代碼,寫的多了,自然能總結出經驗。

第三,不要限制在學java這個點上,學完基礎知識夠用了,找一些項目拿來練手,最最重要的還是思路,跟著思路走,不會什麼就去查什麼,才能真正入門。


小蔡帶你看科技


就是踏踏實實學習。買相關的書籍看相關的視頻。因為你只能自學 就是在論壇問大佬就好了 還就是視頻教程

www.aiquanti.com

這裡面有免費的如果選擇付費的建議你慎重 這個就要你自己選擇了加油 記得多敲多看源碼啊


分享到:


相關文章: