當前位置:
首頁 > 最新 > 工作了,流行框架都會,前台也熟練,遇到瓶頸如何突破

工作了,流行框架都會,前台也熟練,遇到瓶頸如何突破

Java工作一年了,流行的框架都會了,前台不算精通也算熟練了,遇到瓶頸,如何突破?

我記得我大學畢業簡歷上寫的是精通java,工作5年後寫的是熟悉java,現在10年+後寫的是了解java。

你才一年。。。

(這真不是梗,你學的越多,就會知道自己不懂的越多,自然不敢說精通了。大學畢業寫精通是為了找工作大家都這樣寫。。我們當時是學過就叫精通,用過就寫熟悉,聽過就寫了解,:D)

作為過來人我經歷過感覺什麼都懂,不知道何去何從的階段。現在想想其實根本是似懂非懂。後面惡補基礎,多簡單的例子都親自測試,思考實現原理,查看對應的jdk代碼,半年後感覺到質的變化,才覺得java真有意思!

了解得越多,發現自己不懂的越多,這句話絕對是真理!

大膽講一句,樓主工作一年,很大可能連wait,notify怎麼樣用都不懂?不服?用wait,notify寫一個blockqueue試試?

==========================================================

補充一些有用的信息,說一下我是怎麼樣學習的,就說一點數據結構的:

一開始我們就學習list和map。先說list,最基本有Arraylist和LinkedList,就以他們兩為例分析,看他們的父類和實現的介面。ArrayList繼承AbstractList,LinkedList繼承AbstractSequentialList,AbstractSequentialList繼承AbstractList,查看代碼AbstractSequentialList沒有新增方法,那麼Arraylist和LinkedList都繼承AbstractList,可以把他們當成有相同的特性。

接下來查看AbstractList,他實現了List介面,沒有新增方法,那麼重點查看List的方法即可。每一個方法都要看一遍API說明,用一遍測試一遍。add,remove這些沒有什麼好看的,重點留意你不熟悉的方法。

接下來看他們實現的介面,相同的Cloneable, Serializable看一下有哪些方法即可,重點看不同的,Arraylist實現了RandomAccess(其實裡面啥方法也沒有,應該說是只是一個標誌),LinkedList實現了Deque。在看每一個介面的說明,RandomAccess說明可以用get方法訪問,性能很快,你如果是一個LinkedList用get你就會發現慢的嚇人;Deque說明實現了雙向隊列,在查看Dueue的各個方法了解他所有的特性。

接下來看構造函數的參數,可以看出ArrayList有個int類型的initialCapacity參數,LinkedList沒有,思考一下為什麼。接下來你會發現有數組的數據結構的構造函數都有一個容量的參數(如HashMap),你會發現他的用處,再深究下去會發現ArrayList會存在擴容這個概念。。。

到了這步你應該有自己的總結:

a。ArrayList是用數組實現的,需要初始化容量,容量不夠的時候會擴容,擴容會把數組copy一遍比較耗費性能,大數據量的時應該盡量避免。

b。ArrayList可以用get方法隨機訪問,性能還能很快,LinkedList用get方法會比較慢,大數據量應該避免。

c。LinkedList實現了雙向隊列,可以非常方便的在頭尾增加和刪除數據。

d。一邊遍歷一邊修改的時候需要使用listIterator,不要傻傻的搞2個List。

到了這步算是入門了,我才敢說自己入門了。

我有時候面試會問,list怎麼樣刪除指定的數據了?如,存放數字的list,把偶數刪除掉。很簡單對吧,你寫代碼試試?你要是知道List介面有個可以修改的listIterator,你就會知道這麼常見的場景應該用這個迭代器解決。

面試的時候最討厭有點人自以為是:「這個我不清楚,但我上網查一下就知道了!」Are you kidding?你都不知道有這個東西,你會去查?

說這麼多,只是希望大家記住,最簡單的基礎才是最重要的,我不希望我接下來在面試的時候,問map有哪些map,只能回答出我大學畢業的時候就知道的hashmap和hashtable。。。

謝謝大家,希望對你有幫助。

轉發分享是一種美德


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 java學習吧 的精彩文章:

我是程序員,我想哭!這麼多的好事我怎麼沒有趕上
當初級程序員剛開始編程的時候,希望自己知道些什麼?
IT行業的工資到底有多高?反正就是很高很高很高
一步步做《魅族官網》!(中)
新手程序員,你這樣提問題會沒朋友的!

TAG:java學習吧 |