有些工作三四年的朋友問我,覺得很迷茫,技術水平如何再次提高,問了一下,朋友甚至連String這個類的原始碼都沒有看過,有時候,會去幫同事除錯一下程式碼,除錯過程中,發現其連JDK原始碼都還沒關聯上,工作中遇到不熟的API或出現問題,直接就開啟百度去查,從來不關注一下底層實現。
還有一些朋友,工作了幾年了,想跳槽居然還在背面試題,我好奇要了一份,點開看都是諸如:int和Integer有什麼區別?陣列有沒有length()方法?String有沒有length()方法?String和StringBuilder、StringBuffer的區別?HashMap和HashTable有什麼區別?ArrayList和LinkedList有什麼區別?HashMap的工作原理是什麼?不禁有些好笑,我說你工作了這麼多年,這些東西還需要背嗎?難道不是作為一個Java程式設計師必需應該掌握的內容嗎?可嘆。
Java這門語言比較簡單易用,常用的工具類集合類都封裝好了,導致大部分人拿來就用,也不去想這裡面是怎麼實現的,做了哪些優化等等。
開這個小專欄,一是想幫助一下這個群體,把自己的一寫見解分享出來。二是引導一下新手,更高效率的去學習Java,學習最好的方法是知其然並知其所以然。
本專欄所有示例程式碼已上傳至公眾號:saysayJava
本專欄有一定的連續性,強烈請大家按順序閱讀,專欄儘量做到講解簡單,老少咸宜,如果仔細看完了文章,還是不理解,請在評論區留言或私信給我,我改到大家能看懂為止。
注:非必要說明,本專欄中示例程式碼編譯和執行使用以下環境:
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
如果喜歡本系列文章,請為我點贊或順手分享,您的支援是我繼續下去的動力,您也可以在評論區留言想了解的內容,有機會本專欄會做講解,最後別忘了關注一下我。
轉載無限歡迎,但請註明「作者」和「原文地址」。轉載請在文中保留此段,感謝您對作者版權的尊重。如需商業轉載或刊登,請聯絡作者獲得授權。