要點:看視頻、打樣本代碼是壹個極其艱難的過程,而拯救妳的永遠是壹個參與實際項目的機會。實踐永遠是檢驗真理的唯壹標準,在編程領域依然成立。
讀研究生二年級的時候,接觸了Java語言。在此之前,我只接觸過VB語言,沒有接觸過其他編程語言。當時因為導師的壹個項目需要用Java語言開發,導師讓我學Java語言。從此開始了我酸溜溜的Java學習之路。21天去圖書館找了《Java入門》《掌握Java》之類的書,每天在實驗室裏不停的看這些書。讀的時候就跟題目壹樣,也是雲裏霧裏,但就是堅持“苦讀”。
我努力看了兩本Java書,了解了Java的壹般語法和知識點,準備寫壹些代碼,但是還是寫不出壹段完整的代碼。於是我去網上找了馬士兵的全套Java視頻,看了壹遍又壹遍,跟著視頻學習打樣本代碼。說實話,通過視頻學習還是很進步的,起碼簡單的for循環和IO讀寫文件都掌握了。但總體感覺還是霧裏看花,知識點零散,沒有整體系統的機會使用Java。就在這時,壹個實習機會向我走來。
意外的實習機會
正當我痛苦的時候,有壹天導師找到我,說她的壹個朋友開了個小公司,想招實習生,問我願不願意去。我當然知道。現在缺少實習機會。只有參與壹個項目,我才能真正的使用Java,把我從這種痛苦中解救出來。第二天,我去了這家公司。我的導師真的沒有騙我。這家公司真的是壹家小公司。全公司不到10人。我和老板在面對面編程。
進公司後,公司壹位老人帶著我壹步壹步從基礎項目做起。我記得第壹個項目是Struts+Hibernate,我之前從來沒有仔細看過這兩個框架。好在這個項目已經建好了,很多功能都有了。所以我就順著貓的思路,看看別人的action和crud是怎麽寫的,然後再寫自己的壹些函數。遇到不懂的東西,上網查原理和寫法。
很快,通過參與項目,我基本掌握了Struts和Hibernate。雖然我不懂許多原理,但我能熟練地運用它們。通過壹個月的參與項目,晚上回學校,基本可以獨立完成領導交給我的小功能。當然,我在發展中遇到了很多問題,可以通過自己的定位來解決。如果實在解決不了,那就去問同事。
最後
我的經驗告訴我,不要壹直埋頭看視頻,敲代碼,也不要以為徹底掌握了整個Java技術體系就可以出去找工作。這是完全錯誤的認識,真正的技術是需要參與到項目中去學習的。只有參與項目才能更好的理解壹些技術點和實現原理,更多的困惑和不理解也只有參與項目才能解決。壹個小項目帶給妳的收獲,將遠遠超過妳埋頭學習壹年所能獲得的收獲。所以,如果這個時候妳在學Java的時候覺得自己很慘,那就停下來,找壹個能接受妳的公司,哪怕是壹個工資很低的小公司。別管了,走吧。壹個月後,妳會破繭成蝶。
我來分享壹下我學習java的經驗。剛學Java的時候,我和妳壹樣,看視頻,寫代碼,以為自己只要壹步壹步學就行了,其實不然。
如果妳邊看視頻邊敲代碼,如果妳能因為這個原因熟練掌握java,那妳就錯了。不能死板的學習和打代碼。為什麽?要向外擴張,說太多也沒用。我舉個實際的例子,我以學習ArrayList為例來說明。
我先介紹壹下,我是怎麽學會ArrayList的?
1,添加、刪除、更改、查詢數組列表的api操作,這個要熟練掌握。
2.ArrayList底層是如何實現的?有什麽特點?
底層用數組實現,可以根據添加的元素添加和取出重復的元素。
3.怎麽排序?Jdk8可以直接調用sort方法,或者使用Collections工具類進行排序。
4.ArrayList如何移除重復元素?
可以定義壹個列表,然後循環比較,也可以用set直接復制。
5.數組列表是線程安全的嗎?為什麽不是線程安全的?如何保證線程安全?
數組列表不是線程安全的。
主要表現在底層容量存儲陣列是* * *共享變量,會並發添加多個線程,會導致重復覆蓋問題。
您可以使用集合來創建同步列表。
也可以用牛來代替
6.為什麽循環時不能添加元素或刪除元素?
因為底部有壹個計數器,所以循環的時候不能增刪。如果有類似的服務,可以使用線程安全的類。
7.為什麽調用sublist方法返回的列表不能強制轉換ArrayList?
因為它返回的是視圖,而不是list的子類,所以看壹下源代碼就明白了。
8.最後可以看看底層源代碼是怎麽實現的,然後自己寫壹個。
也許妳會覺得,如果我按照妳的方法,壹節課學幾天就好了。我認為花幾天時間是值得的。這樣學習,以後會越來越順,不會像現在這樣雲裏霧裏。
以上是我的學習心得。如果對妳有幫助,可以關註我,以後繼續分享幹貨!
記住
Java現在在網上還是比較好學的,因為各大視頻網站和技術網站上都有大量的教程。妳可以很容易的找到妳想要學習的知識。但也有缺點,就是太亂,經常東壹套西壹套。
所以,作為初學者。妳應該買壹本書,這是最重要的。書壹般都是從基礎到高級,不會有什麽大的飛躍。
另外,書可以讓妳快速記筆記,在以後迷茫的時候可以快速找到自己學習時所理解的內容。妳可以再看壹遍加深印象,而不是去網上查,因為每個人的學習習慣不壹樣。
更多的手
在Java領域,尤其是像妳這樣的初學者。妳要把學過的東西反復練習,經常復習。
比如用sout輸出helloworld語句,會手寫嗎?前期不用擔心主方法的參數的作用,讓自己練習習慣性記憶就好。
好記性不如爛文筆。這句話在學習上沒有錯。
多摘要
總結是妳和別人拉開差距的最大原因。
比如今天學了流量控制語句,給妳留了個問題。讓妳在for循環裏做。妳剛才用了for循環嗎?妳要考慮以下兩點。
還有其他可以解決的流程語句嗎?while,叠代器,stream,lambda表達式可以解嗎?
能解決其他類似問題嗎?給自己壹個問題,自己去做。
我相信只要妳壹直這樣總結,妳的基礎就會很紮實。
強調
其實學習最大的敵人就是自己。學習就像長跑,只要堅持,總會到達目的地。壹個好的學習方法是快速到達終點。
摘要
壹匹擅長奔跑的馬從來不會在意它的起點。
我今年31歲。2月份疫情期間開始學習JAVA。學了快三個月了。現在在做壹個微信小程序商城的項目。後端用springmvc+myba**,數據庫用MySQL,前端不寫。我用自學的Android直接寫後臺管理系統。現在我已經寫好了添加商品的功能模塊。我認為學習最重要的是興趣。我學編程不是為了工作,只是想搞點東西出來,所以很上進,基礎壹般,但是會復制粘貼,百度拿來就知道怎麽改。我直接用安卓控件,還沒開始學小程序。到時候我寫完界面再研究小程序。個人覺得入門編程這些應用並不難,所以深入底層[捂臉]就不會了。
有些人邏輯清晰,條理分明,在系統的學習下進步很快。
而有些人需要引導,比如興趣或者目的引導,找到學得更快的方法。
比如玩遊戲,先用程序做壹個OK按鈕跳轉到OK或者其他菜單頁面(單獨顯示文字和圖片),取消跳轉到下壹級或者關閉程序。在網上找壹些簡單的計算器,比如加減乘除,復制壹個,然後試著給每個按鍵加上顏色或者圖案。這些都是遊戲必備的菜單界面。努力進入狀態,渴望壹事無成。
如果只是為了賺錢,那麽程序就是錢,技術就是錢,但是沒有學習和充新知識的狀態。那麽,任何代碼都不適合妳。學完壹段代碼後,妳會發現其他代碼不需要像主代碼技能那樣熟練就需要集成,因為它要麽可以加快編程速度,要麽需要應用到相關接口上。
每個人接受新事物的速度不同。
也有可能別人有別的語言基礎。
另外,妳是在網上找到視頻的嗎?這和老師有很大關系,有的老師就是說不。可以找找其他視頻。
另外,記筆記。多背多記。有些抽象的概念真的很難理解。聽不懂的可以背下來或者寫下來,以後再學。隨著學習的深入妳會明白的。如果還是不懂,就去百度研究壹下。
我認為學習就是多學習,多實踐,多思考。天才那麽多,比妳優秀的大多比妳努力。
壹定要把關鍵詞背熟,壹定要多打代碼。僅僅看著他們是不夠的。祝妳成功[耶]
有目的地學習。av96244032
妳必須形成自己的思維模式。光聽別人說是沒有用的。用我下面的方法,久而久之,妳就能走出迷霧,豁然開朗。
從小項目開始,設計自己的數據結構,設計自己的對象、屬性和方法。
多練習就好。
比如自己做壹個電商軟件。
首先,先思考壹下,抽象出幾個對象:
1.商品產品,
屬性:id、名稱、股票、價格、描述。
2.用戶用戶
屬性:id,用戶名,帳戶,電子郵件,電話號碼。
3.訂單訂單
屬性標識、產品標識、計數、總額、用戶標識。
然後就可以設計數據庫了。
畫壹個e-r圖,生成壹個sql。
其次,再想想有哪些方法:
1.buy(stringproductid,stringuserid,int count);
用戶購買商品的方法,返回訂單號;
2 .支付(stringorderid)
支付
...........
然後用妳熟悉的語言去實現。
不要小看這個過程,這是寫代碼的核心。壹旦妳理解了面向對象和領域模型設計,其他的都是語法,語法糖,常識和框架。
上學的時候,我強迫自己按照這個模式鍛煉自己。我畫了很多圖,寫了很多代碼。那時候我沒有電腦,就把代碼寫在紙上,然後上了電腦就打進去享受過程,很上癮。
希望對妳有用。
每個人的基礎可能不壹樣,也可能妳看不到別人付出的很多努力和付出。不要跟在競爭對手後面,按照自己的節奏學習,多思考,不要以為敲完就完成了任務,保持對知識的好奇心,多思考代碼為什麽要這樣寫,掌握原理,掌握原則,重要的事情說三遍,才能真正掌握技巧。去gitee找壹個感興趣的開源項目,看看代碼,看看這套源代碼還缺什麽需求,想想怎麽實現,試著修改壹下代碼,讓自己有成就感,越學越想學,快樂地學習編程。C語言之父丹尼斯·裏皮說過:真正有趣的不是編程本身,而是妳可以讓編程做妳想做的事情。
學習的時候不要浮躁。尤其是學習java的時候,光看視頻是不夠的。
壹、基礎知識,打印成大綱,如果是初學者,建議手抄代碼。比如線程相關的,多抄幾遍就自然了。
第二,有壹定基礎後,建議多去gihub。java裏面有很多好的開源項目,下載看看吧。沒必要看每壹行,知道整個操作流程就行了。
第三,多積累,多收藏。正常工作後,大部分代碼都是復制粘貼的,前提是妳已經粘貼了信息。沒有它,工作效率會很低。
當然,學技術後可能會創業,但基礎是學好技術。比如百度的,騰訊的馬,微信的張小龍,頭條的,都很厲害。
好好學習,天天向上。