大談Java技術棧

前言

  最近沒有文章輸出,請各位見諒,確實感受沒有什麼能夠拿出來分享的,不是筆者沒有學習,其實一直在學習,只是最近工做稍微比原來緊湊一些,沒有深刻去挖掘某種東西,學的東西比較零散,碎片化,也比較雜,因此一直沒有能夠真正做爲乾貨的文章出現,下面截圖就是我最近的筆記。    html

  最近學的確實比較雜,有點浮躁了,爲了豐富本身的技術棧,什麼東西都想學一下,可是呢,什麼都是淺嘗輒止,可是後期確定會慢慢深刻的。如今Java依然是招聘的主流,可是每一年涌入Java的開發人員也是很是多,因此如今的就業市場對於初級的開發人員來講其實已經不那麼樂觀了,並且現在的招聘對於Java應聘者提出了更高的要求,技術更新迭代至關快,筆者越學越感受本身的眇小,越學越感受要學的實在是太多了。可是無論怎樣,仍是得堅持,由於我知道,每一個人都不容易,不少人也依然在堅持,這就是動力。前端

說說我如今的工做狀況:java

  • 完成新需求的功能模塊的開發,主要是前端頁面和sql腳本
  • 網站,移動端接口實現
  • 測試經過的功能模塊以及接口更新部署到生產機      今天咱們不談業務,就談技術,就來講說如今的比較主流的技術以及這些技術須要解決的問題。

Java技術棧

  僅供分享,沒有做爲參照的意思,固然了,若是你以爲有值得借鑑的地方,也是個人榮幸。   若是你的目標是進入大廠,那麼可能須要你有很是好的計算機基礎,算法,數據結構,操做系統,計算機網絡的七層模型,TCP/IP,HTTP,HTTPS等協議的原理。說實話,看了那麼多大廠的面經,發現差距確實是很大的。工做前兩年,須要好好沉澱本身,不斷縮小差距。   我對於本身的定位是Java後端程序員,如今也會寫點前端,僅僅停留在使用,完成功能的階段,工做之餘也不會花過多時間去學。Java後端毫不僅僅侷限於Java語言自己,若是你是三年以上程序員,對於整個知識體系必定要有知識的深度與廣度。git

Java程序員

  • 多線程,併發類,集合,異常,IO流,網絡編程等等
  • JVM運行時數據區,GC算法與收集器,JVM調優

版本控制工具github

  • Git(分佈式版本控制工具,目前主流,推薦學習)
  • SVN(通常老項目,傳統IT公司還在用)

關係型數據庫面試

  • 索引,索引底層實現,主鍵索引,惟一索引,聯合索引,不一樣數據庫引擎索引的差別(好比Mysql的InnoDB與MySIAM),如何優化查詢數據庫,explain與慢查詢是否用過,何時索引會失效
  • 存儲過程,函數,視圖,觸發器

Liunx算法

  • 經常使用命令
  • shell腳本
  • 網絡配置

Nosql非關係型數據庫spring

  • Redis(如何實現分佈式鎖,分佈式session;緩存穿透,緩存擊穿,緩存雪崩產生的緣由以及解決方案;主從,哨兵模式,集羣搭建)
  • MongoDB(分佈式集羣搭建)

分佈式搜索sql

  • 深入理解Lucene原理
  • ElasticSearch和Solr的區別(ELK是什麼,使用場景)

分佈式消息隊列

SpringBoot與SpringCloud

  • SpringBoot底層原理與自動配置,各個註解的做用 SpringBoot官方代碼模板(github.com/spring-proj…
  • SpringCloud做爲微服務的一站式解決方案,Eureka,Ribbon,Feign,Zuul,Config等等 SpringCloud中文網https://springcloud.cc/

Dubbo與Zookeeper

容器虛擬化

  • Docker(Docker的基本命令,DockerFile如何構建容器)
  • K8s(容器編排工具)

自動化部署工具

  • Jenkins(持續集成,持續部署,持續交付) 固然了,市面上自動部署工具還有不少。

我平時學習的渠道和來源

  以前的文章好像也提到了這點,今天就再寫多一些。

  • 加了二十多個java學習交流羣,微信羣(偶爾看一看羣裏的討論)
  • 關注了三十多個的技術公衆號(這些公衆號是我常常看的,由於裏面確實有許多很是有價值的東西,很是推薦,也加了好幾個做者的微信,方便轉載文章)
  • 知乎,掘金,博客園,慕課網,Github,碼雲,B站(B站很是多的技術視頻資源,不用下載直接看,可倍速播放)
  • 個人百度雲保存了很是多某培訓機構視頻,騰訊課堂某些學院的Java架構師課程(想要資源的可私聊免費提供),公開課講的很是不錯,想深刻就得花錢學習他們的VIP課程,課程內容確實很是有吸引力,我不少時候都是按照他們的課程大綱學習的(方向很重要,否則會走不少彎路)

個人筆記軟件

  爲何要作筆記,有人說作筆記花時間,當初我也是這麼想的,可是若是你如今不作筆記,之後會更花時間?   有人就會問了,何處此言?由於筆記記錄的通常都是本身遇到的坑,容易遺忘的知識點,步驟流程較多的操做過程,或者是好的代碼案例等等。試想一下,若是你須要在Linux安裝Mysql,或者Docker建立Mysql服務,裏面的步驟都是比較多的,若是你裝了一次,不記錄下來,下次裝你還得去百度,在萬千的博客中查找,並且有些博客寫的並很差,原本你第二次裝只須要按着筆記步驟花十分鐘就搞定,你卻花了半個鍾甚至更長時間作這件事,你說是否是更費時間。寫筆記就是一個積累的過程,寫的時間長了,筆記就很是多了。提及作筆記,真的要感謝一位大學的師兄,是他提醒我要儘快開始作筆記。因此我剛實習不久就開始作筆記了,哈哈,如今積累的筆記確實很多了。

作筆記的軟件,目前比較主流的有:

  • 有道筆記(基本都是免費的)
  • 印象筆記
  • 爲知筆記(我目前用的)

  印象筆記和爲知筆記有些服務都是付費的,爲知筆記好像一年60,其實也不貴,我如今也沒有開通會員,因此筆記不能上傳雲端,只能本地存儲,也不能以連接的形式分享筆記,可是這款軟件我目前用着比較舒服,支持markdown語法,很是良心的筆記工具。

畫圖工具

  • ProcessOn目前是比較好的在線畫圖工具,百度就有。

最後

  對於Java的學習,筆者基本上傾囊相送,若是你是一個初學者,我想仍是有對你有幫助的。從大學自學走過來,一路跌跌撞撞,走了不少彎路,可是總算挺過來了。現在整個大環境比較浮躁,可是作技術研發的人還得沉下心來好好打磨本身,還有就是不管何時,都要保持謙卑的態度,恃才傲物者格局有限。最近996.icu鬧得沸沸揚揚,我以爲每一個人有不一樣的追求,我可能更願意選擇規律的做息時間,畢竟由於工做而失去了生活和健康的身體,那麼工做的意義是什麼呢?可是若是你在大廠996,平臺會更高,眼界會更廣,物質上會更充裕,因此這些東西本身去斟酌吧,去權衡吧。   一直在談技術,可是有時候想說的毫不僅僅是技術,寫博客是本身與本身的對話,也是本身與讀者的對話,程序員也不是如外界所說的那樣,思想木訥,不修邊幅,不善言談,可是也不排除確實有這種狀況,大多都是程序員的自黑調侃,哈哈,爲程序員正名一下。我是廣州程序員小彬,一直致力於Java後端的學習,感謝你的支持!!!   

相關文章
相關標籤/搜索