首頁>Club>
應怎樣合理分配這3年?
2
回覆列表
  • 1 # 此生唯一

    入了程式設計的坑,爬不上來,只能讓自己喜歡這坑!

    為什麼說技術是坑?每天有大量的新技術,新框架,新思想誕生,永遠學不完,擔心被淘汰,感覺身體被掏空!

    三年的時間很快就過去了,有些人還是處於原地,而有些人已經處於專案經理,架構師邊緣!三年JAVA開發,起碼要做到這些事:

    1,業務程式碼寫好:不要覺得業務程式碼對自己沒有提升,所有的技術都是為業務提供支援的,如果業務程式碼寫不好,一定不是一個好的程式設計師,保證你接手的每個系統的穩定性和效能!

    2,深度掌握JAVA的基本型別,面向物件思想,包括static、final、transient等關鍵字的作用,foreach迴圈的原理等等!

    3,掌握常用的JAVA API,包括IO,file操作,hashmap,arraylist,set,treemap等的實現原理,研究concurrentHashMap等的加鎖方式和原理!

    4,多執行緒:掌握建立多執行緒的方式,使用執行緒池,使用forking-join進行多執行緒開發,使用加鎖方式實現生產者消費者模型!知道同步呼叫,非同步呼叫等區別,知道bio和nio的程式設計方式!

    5,看看jdk,spring,mybatis原始碼,知道spring的動態代理,攔截器實現,如何管理物件,知道mybatis怎麼反射得到sql語句並執行!

    6,經典設計模式:知道23種設計模式,並能在合適的場景中使用常見的設計模式!(我最常用的有修飾器,策略,建造者,工廠,模板,介面卡等等)!

    7,JAVA虛擬機器:知道JAVA記憶體模型,物件回收演算法(複製,整理,清除),八種垃圾收集器模型,知道類載入器!

    8,會使用tomcat部署應用伺服器,會使用nexus搭建maven私服,會使用SVN,會使用postMan模擬請求,會使用linux基本命令查詢日誌,部署服務,會編寫shell指令碼!

    9,會搭建資料庫主從架構,使用原生jdbc程式設計,會使用mybatis,druid等連線資料庫和操作資料庫,能寫sql,並能最佳化sql語句!

    10,會使用快取(redis,memcache等)提升系統性能,會使用定時任務做定時處理!會使用批處理框架進行大量資料的操作!

    11,會session共享的處理,會使用SSO搭建單點登入框架,會自己寫一個攔截器作為使用者登入驗證,註冊,登入等功能!

    12,會根據業務需求獨立搭建專案,並完成所有程式碼開發!

    以上是我三年JAVA開發學到的東西,現在在公司參與搭建分散式系統,微服務,資料庫分庫分表,使用ons和kafka訊息中介軟體,使用多執行緒做批處理,可以說沒有前三年打下的基礎,現在基本很難!

    JAVA開發前三年一定不能忽略基礎知識,根據自己的方向選擇性的吸收技術,記住:學習技術先從官方文件開始,然後自己寫Demo實操!

    看我以往的回答就知道我有很多幹貨分享,我的更多幹貨,敬請關注。。。

  • 2 # 珠穆朗碼

    3年,看你什麼情況了,主要是入門,入門了就不難。一定要把Java語言學好,包括對基本API也要熟悉。建議把Java程式設計思想仔細讀一遍,把上面的練習做一遍,用純Java實現一些小程式,幫助你處理工作,或者根據自己的興趣做些小程式。這個過程,如果是業餘自學,半年夠了。不過,如果有錢找個老師帶一帶會節省時間。

    一旦入門,就可以開始學web程式設計,前端後端都要學,雖然要學的比較多,但是,有前面打下的基礎,你對程式設計,已經有感覺了,所以重點要理解技術原理,多積累除錯經驗,逐步提高利用面向物件的思想和方法,抽象現實問題的能力。這個過程,基本知識用不了多久,但是做專案可能需要多點時間,半年夠了。

    接下來,框架不難,理解執行原理,多用,熟悉配置就夠了。框架最好結合專案學,效率高。這階段,掌握增刪改查,熟練下來,要3個月。

    最後,你需要做點難度大的專案,業務複雜點,可以應用到現實中的。這個過程,你需要透過專案掌握更多的技能,程式碼,這些是可以在以後工作中用到的。最後這個階段,做3個專案,用半年,夠了。

    所以,2年時間,最多了,基本可以達到自己接專案的程度,前提是你是一個有自控力的人,能堅持下去完成計劃。但是大多數人,都堅持不下去。最好,找到學友一起,這樣就比較容易堅持。

  • 3 # 會點程式碼的大叔

    三年說長不長,說短不短,如果是一個初入職場的新人,工作三年之後將會面臨第一個坎兒。大多數人可能由初入職場的菜鳥,變身成為可以獨立開發的老手,還有更優秀的可以擔任開發組長甚至是專案經理了。那麼這三年應該學習到哪些技能呢?

    技術

    我想大家第一關心的還是要學到哪些技術。

    首先肯定是Java基礎了,儘管很多內容我們可能在學校或者自學學過,但是經過這麼長時間的工作,肯定會有跟深刻的認識。熟悉Java常用的類,String、集合、IO等;瞭解多執行緒,至少學會使用執行緒池;工作三年了,JVM還是要了解一些的,比如Java記憶體模型、記憶體管理、堆和棧、垃圾回收等等。

    現在的專案離不繫統之間的互動吧,所以常用的介面呼叫需要學會。如果更深入一些,要知道各種傳輸協議、網路IO、應用級協議以及可選實現技術。

    資料庫肯定是要學的,不僅僅要會寫SQL,還要會寫一些複雜的SQL語句,甚至是儲存過程。最好對資料庫的最佳化有一定的瞭解,比如說如何看執行計劃、如何進行SQL最佳化、什麼時候會索引失效等等。各種資料庫的連線池框架,也要會使用,比如Druid、HikariCP之類的。

    框架:其實這個就比較多了,而且每一家公司用到的技術棧都有所不同。但是現在流行的一些框架,最好還是可以瞭解一些的,不說研究原始碼吧,至少會使用,並且知道原理是什麼。而且別隻抱著SSH、SSM不放了。Spring和Spring MVC都是很有用的,Struts我覺得快不行了;Spring Boot是你必須要學的,Spring Cloud裡面還有一堆框架,也要看看。總之要保持一定的技術敏感度,看看現在流行的框架有哪些。

    非關係資料庫:有些公司可能用不到,但是建議看看,特別是Redis,這個應用很廣泛的。

    MQ:Kafka、RabbitMQ什麼的用一用。用到Kafka的話,順便就把Zookeeper看一看。

    其他:負載均衡得會,因為很常用,其餘的一些,比如持續整合、Devops,如果公司沒有用到的話,自己學習起來也比較難,可以先了解一下概念。

    英文:這裡的英文是指看英文文件的能力,建議在學習上面這些技術的時候,堅持看官方提供的英文文件。如何練好閱讀英文文件?就是多看!

    業務

    說完你們喜歡的技術,再說說我比較看重的業務。

    儘管這個跟題目裡面的【Java學習】沒有什麼關係,但是我還是先想嘮叨嘮叨。

    工作三年,不僅僅要對自己負責的功能模組熟悉了,應該對整個系統和整個業務流程都有一定的認識。我們寫程式碼,最終是實現業務需求的。程式碼寫的再好,使用者要的功能沒實現,也沒什麼用。

    所以建議大家不要把時間和精力都放在技術提高上,還要抽出一半的時間去學習業務。

    IT技術升級換代太快了,前幾年流行的技術框架,現在可能已經淘汰不用了;但是很多時候都是新瓶裝老酒,把一些老技術包裝包裝,重新包裝換個高大上的名字;或者是在老技術的基礎上做了一些延伸。

    所以我們一定要打好基礎,修煉自己的內功,才能面對不斷湧現出來的“新技術”,做到遊刃有餘,才不會有“30歲之後升不到管理層就會被淘汰”這樣的擔心。

  • 4 # java攻城獅愛好者

    在我看來,最重要的當然是java基礎,如陣列,集合,執行緒,IO,網路程式設計,servlet等。

    第一年為了工作可以先把基礎以及常用的框架ssm,ssh等學會,並且熟練使用,細節越多越好,比如spingmvc中各個註解使用,傳值方式等,mybatis一級快取二級快取,hibernate的優缺點等。

    第二年可以在閒暇時可以嘗試去閱讀java原始碼或者框架原始碼,比如arraylist底層實現方式就是陣列,在超過其最大容量後擴大陣列容量,將原陣列中資料copy到新陣列中去,在這一階段我們需要將深度挖的越深越好,最好可以完整看完一個框架的原始碼,在這之後,我們可以知道所有的框架都是萬變不離其中,全部都離不開java基礎,比如spring最重要的2個特性IOC依賴注入和aop面向切面程式設計,底層採用了反射和工廠模式,動態代理設計模式等,所以我們學習的主要是框架的設計思想,提升自己設計思想的寬度,避免思維定勢。可以自己嘗試實現框架的功能,這樣可以方便我們更深入的理解框架的設計方式,同時經過這一階段後,可以迅速從同齡人中脫穎而出。

    第三年,再有了前2年的基礎之後,我們接觸分散式,jvm,多執行緒等技術就會更容易理解,比如分散式是按照業務拆分為單個服務,服務間採用rpc通訊,rpc底層也是NIO的實現,jvm就是了解java虛擬機器內部的執行機制,堆,棧,方法區,常量池,類載入機制等,多執行緒就是執行緒的實現方式,執行緒通訊,執行緒池內部機制,執行緒安全鎖的使用,常見的synchronized,final,atomic,lock都是實現執行緒安全的方式。

    最後我還是想強調一下學好java基礎後,學習新java技術才會更加得心應手

  • 5 # 志約信望愛坤梅

    那看你想學到什麼程度了。

    3年,不短也不長。打打醬油,那就初級水平;認真一點,混箇中級;極致投入,那就大神。

    取決於你自己

    祝週末愉快

  • 中秋節和大豐收的關聯?
  • 沙特能夠徹底擊敗胡塞武裝嗎,有何依據?