當前位置:編程學習大全網 - 源碼下載 - java工作壹年,方向渺茫怎麽辦?

java工作壹年,方向渺茫怎麽辦?

Java已經工作壹年了,流行的框架已經很好理解了。前臺精通,如果不精通的話。如何突破瓶頸?

記得大學畢業簡歷上寫的是精通java。工作5年,寫的是對java比較熟悉。現在10+之後,我寫了我懂java。如果妳現在才工作壹年。。。

作為壹個有經驗的人,我經歷過那種覺得自己什麽都懂,又不知何去何從的階段。現在想想,真的是壹點都不理解。後面的追趕基礎,很多簡單的例子親身測試,思考實現原理,查看對應的jdk代碼,感受半年後的質變,我覺得java真的很有意思!

知道的越多,越發現自己不懂。這句話千真萬確!

大膽地說,現在妳已經工作壹年了,妳可能連等待和通知都不知道怎麽用。不滿意?嘗試用等待通知寫壹個blockqueue?

補充壹些有用的信息,說說我是怎麽學習的,就壹點關於數據結構的:

我們從壹開始就學習了列表和地圖。先說列表。最基本的是Arraylist和LinkedList。以它們為例分析它們的父類和實現的接口。Arraylist繼承AbstractList,LinkedList繼承AbstractQuestionList,AbstractQuestionList繼承AbstractList,沒有新的方法來查看代碼AbstractQuestionList,所以ArrayList和LinkedList都繼承AbstractList,所以可以視為具有相同的特性。

接下來看AbstractList,它實現了List接口,沒有新的方法,所以重點放在List的方法上。每個方法都應該通讀API描述並測試壹次。添加,刪除這些沒什麽好看的,註意妳不熟悉的方法。

接下來,讓我們看看它們實現的接口,同樣的可克隆、可序列化。只看方法不同。Arraylist實現RandomAccess(其實裏面沒有方法,應該說只是壹個符號),LinkedList實現Deque。看每個接口的描述,RandomAccess顯示可以用get方法訪問,性能很快。如果妳對壹個LinkedList使用get,妳會發現慢得嚇人。Deque說明實現了雙向隊列,看它的各種方法就能明白Duueue的所有特性。

查看構造函數的參數,我們可以看到ArrayList有壹個int類型的initialCapacity參數,但是LinkedList沒有。想想為什麽。接下來妳會發現帶數組的數據結構的構造器都有壹個capacity參數(比如HashMap),妳會發現它的用處。如果深入挖掘,會發現ArrayList會有擴容的概念。。。

至此,妳應該有了自己的總結:

答.ArrayList是用數組實現的,容量需要初始化。容量不夠的時候會進行擴容,擴容又要耗費性能去復制陣列。數據量大的時候,要盡量避免。

乙.數組列表可以通過get方法隨機訪問,性能可以非常快。get方法會使LinkedList變慢,應該避免大量數據。

丙.LinkedList實現了壹個雙向隊列,可以方便地添加和刪除頭部和尾部的數據。

d .遍歷和修改時,需要使用listIterator。不要愚蠢地列出兩張清單。

至此,我算是入門了,也敢說我是入門了。

想在這個領域發展還是真的感興趣。可以找我要壹些基礎的學習視頻,Q號:5。這是免費的。希望同學找我要的時候不要想當然。畢竟都是我努力的結果。希望妳真的有壹顆學好java的心,我會盡力幫助妳成為壹名優秀的程序員。

加我q有以下要求,不達標者請勿打擾:

1.本人Java專業,畢業後面試受挫,找不到對口工作。

2.在公司待了很久,現在很舒服,但是跳槽的時候面試碰壁了。需要在短時間內學習,換工作,拿高薪

3.參加線下培訓後,對知識點掌握不深,就業困難。我想繼續我的學業。

4.壹直在Java相關部門工作的在職人員,不清楚自己的職業規劃,得過且過。

5.有壹定的C語言基礎,接觸過java開發,想轉行。

請勿打擾小號,不喜勿加。

然後分享壹個思維導圖,是適合1年工作經驗的學習計劃:

面試中我有時候會問,列表是怎麽刪除指定數據的?例如,存儲壹列數字,刪除偶數。很簡單吧?為什麽不試試寫代碼?如果妳知道List接口有壹個可以修改的listIterator,妳就知道這麽常見的場景應該是用這個叠代器解決的。

面試時最討厭的就是有人自以為是:“這個我不知道,網上查壹下就知道了!”“妳在開玩笑嗎?妳甚至不知道這東西的存在,所以妳要去查?

說了這麽多,只是希望大家記住,最簡單的基礎最重要。下壹次面試不想讓我問有什麽地圖,只能回答我大學畢業就知道的hashmap和hashtable。。。

作者:曉峰光

  • 上一篇:java高級編程:基於JNDI的應用開發
  • 下一篇:Wps源代碼分析
  • copyright 2024編程學習大全網