java需要掌握的技術 JAVA程序員,4年了,迷茫了,希望由前輩可以給指出一個技術路線5年左右程序員必須要掌握的知識技能樹?
JAVA程序員,4年了,迷茫了,希望由前輩可以給指出一個技術路線5年左右程序員必須要掌握的知識技能樹?首先,我們推薦幾本極具啟發(fā)性的書:編程諸暨-學會思考和分析問題的正確姿態(tài)計算機程序的構造和解釋-重
JAVA程序員,4年了,迷茫了,希望由前輩可以給指出一個技術路線5年左右程序員必須要掌握的知識技能樹?
首先,我們推薦幾本極具啟發(fā)性的書:
編程諸暨-學會思考和分析問題的正確姿態(tài)
計算機程序的構造和解釋-重新思考編程語言的本質
UNIX編程藝術-體驗系統(tǒng)設計的正確思維
介紹算法-需要重新實踐的基本技能
設計數據密集型應用程序-打開分布式系統(tǒng)和大數據系統(tǒng)設計的大門
在閱讀書籍的同時,學習各種優(yōu)秀的開源系統(tǒng)的工作原理,如Kafka、Flink、spark、Hadoop、etcd、zookeeper、,redis
你學到的不僅僅是知識,還有設計思想和思維能力的提高
我分享了很多與分布式系統(tǒng)相關的動畫視頻。歡迎觀看。我希望他們能幫助你
如果你是一個完全的新手,程序如下:
1。首先,明確短期目標和長期目標:短期目標主要是“小步快跑”,長期目標主要是“好內功”。
所謂“小步快跑”是指:盡快啟動,就可以編寫程序并正確運行結果。這個階段是用來積累信心,使他們能夠堅持學習。
所謂“好內功”是指:了解程序背后的原理、數據結構、算法性能、軟件工程、架構設計等。制定學習和實踐計劃并毫不猶豫地付諸實施:你可以用Excel寫下每天要實現(xiàn)的具體小目標,然后每天睡覺前檢查是否完成。養(yǎng)成這樣的習慣對你是個很好的激勵。這一行最重要的是多年的積累,從量變到質變。
3. 思想開放,不要閉門造車:Java相對于其他語言的最大優(yōu)勢是其龐大而成熟的生態(tài)環(huán)境。有無數的好框架、工具和最佳實踐供您選擇。有很多“輪子”可以“使用”。
加入更多的技術圈和資源社區(qū),與前人交流,了解技能樹,并逐一進行有意識的培訓。
閱讀更多經典書籍,加深對基本概念的理解。學習語言,初學者可以看到《Java核心編程》、《Java編程思想》的學習框架,初學者可以在網上找到相應的流行實踐視頻,動手實踐,熟悉后,可以開始嘗試閱讀相應的源代碼。
另一個好習慣是多總結和寫博客。它一方面有助于整理自己的知識,另一方面也有利于后人。在某種程度上,您可以在源代碼社區(qū)中啟動自己的項目。
對于初學者,應該特別注意:多問為什么,而不僅僅局限于程序運行是否正確。想寫得足夠有力嗎?有漏洞嗎?性足夠好嗎?只有長期堅持這種精心訓練,我們才能迅速提高。
對java剛入門的新手有什么要提醒的嗎?
這個要求很容易實現(xiàn),基本上有一點上進心的人,不斷學習,工作3-5年
技術水平如下:
精通JavaEE基本框架spring、spring MVC、mybatis,最好了解基本原理
精通微服務框架springboot,spring cloud,Dubbo,最好知道基本原理
精通關系數據庫Mysql,鍵索引,事務,鎖
精通redis數據結構,作為分布式緩存,使用分布式鎖
熟悉dcoker容器技術,最好了解k8s
對前端,包括但不限于Vue、RN等
對客戶端、Android和IOS有一定的了解
我認為Java高級工程師無非是以下兩個方面,一是硬件,二是軟技能。
當然,硬技能是技術的發(fā)展方向:
1。技術廣度
現(xiàn)在流行的分布式和微服務是什么,所以你一定要了解Dubbo和spring云,還有緩存、消息隊列、數據庫優(yōu)化、JVM調優(yōu)、大數據,甚至運維知識,比如docker和automatic deployment。
2. 技術深度
一方面是編程思想。這取決于自己的看法。只有多寫多想,才能擁有它。
另一方面,我們需要閱讀源代碼,更不用說我們讀了多少源代碼,至少我們有能力理解源代碼。
3. 架構經驗
分布式系統(tǒng)架構和開發(fā)經驗。在跨系統(tǒng)結構優(yōu)化和數據存儲性能指標方面有豐富的經驗。您應該熟悉緩存、數據庫垂直分段、業(yè)務抽象和水平拆分。
以下是軟技能
1。項目經驗
從頭到尾跟蹤幾個大項目,第一個是需求階段,包括需求調研。
尾部指在線交付后的時間,包括維護階段。
2. 在工業(yè)領域
至少有一兩個企業(yè)應該精通。所謂精通,比如說要做金融證券業(yè)務,至少要做金融分析師。做電力生意,至少當半個電力工程師。
當然,還有一些交際技巧,人際交往技巧等等。
總之,我認為硬技能決定你的起點,軟技能決定你的身高。