log4j
推薦理由:向system.out.println()說永別清女,剛開始學(xué)java的時候總是喜歡依靠system.out.println()的輸出來查看異常和調(diào)試。后來工作后就果斷l(xiāng)og4j了嫡丙,這樣項目開發(fā)和發(fā)布的時候,可以根據(jù)自己的需求開關(guān)日志級別拥刻,把日志打印到遠程服務(wù)等多種功能。現(xiàn)在這個基本成為標(biāo)配了般哼。
guava
推薦理由:google出品的第三方工具庫尘吗。當(dāng)java.util 提供的數(shù)據(jù)結(jié)構(gòu)不能滿足的時候從這里你可以快速找到大量已經(jīng)寫好的數(shù)據(jù)結(jié)構(gòu)了,這使得你不用花費心思在一些常用的數(shù)據(jù)結(jié)構(gòu)上了睬捶。比如LRU緩存之類的。只是好幾個版本的跨度比較大擒贸,兼容也不怎么好。
apache commons
推薦理由:apache commons 涵蓋了大量的小工具徽惋,比如發(fā)郵件(線上告警用),快速且方便的IO操作封裝险绘。等等工具很多,可以自己慢慢去學(xué)習(xí)宦棺。
netty
推薦理由:一個網(wǎng)絡(luò)通信框架,當(dāng)需要實現(xiàn)自定義協(xié)議的時候我就用這個,netty的新版本自帶了很多協(xié)議的實現(xiàn)版本代咸,這是搞網(wǎng)絡(luò)快速開發(fā)不二的選擇。
httpclient 系列
推薦理由:主要是用在測試線上服務(wù)的時候用的呐芥。畢竟是一個基于http協(xié)議網(wǎng)絡(luò)工具,當(dāng)開發(fā)的web上線的時候荸百,利用httpclient來寫測試用例,效果很不錯管搪。測試的工具有很多铡买,但是這個可以滿足你定制http請求的需求。
服務(wù)類:
jetty
推薦理由:httpclient 的同一個項目下有一個簡易的http server 但是沒有實現(xiàn)servlet奇钞,這個時候jetty的效果就體現(xiàn)出來了。特別的是景埃,當(dāng)你打算對 jsp jstl 等方式編寫的網(wǎng)頁進行功能測試的時候,jetty就可以承擔(dān) mock的作用拒啰,好用得很。使得你可以在junit的框架下對jsp編寫的網(wǎng)頁進行測試谋旦。
這篇文章分享之前我還是要推薦下我自己的JAVA群:452180294 屈尼,不管你是小白還是大牛,小編我都挺歡迎脾歧,不定期分享干貨,包括我自己整理的一份2017最新JAVA資料和零基礎(chǔ)入門教程鞭执,歡迎初學(xué)和進階中的小伙伴
maven
推薦理由:現(xiàn)在的java已經(jīng)離不開這個玩意了芒粹。你可以自己搭建一個nexus 來做maven私服大溜。當(dāng)你存在RPC的需求的時候。完全可以把自己的接口部分和client打包上傳到maven私服,調(diào)用的服務(wù)只需要include這個包就可以遠程調(diào)用你的服務(wù)了旁蔼。在國內(nèi)配合上dubbo這類 SOA框架。那個效果酸爽的很棺聊。完成了實際意義上的接口于實現(xiàn)在網(wǎng)絡(luò)層級的分離。讓java 的package 形成一個網(wǎng)絡(luò)上的package限佩。需要某個服務(wù)的時候,include 直接調(diào)用作喘。其他的一律不用管。
Disruptor
推薦理由:高性能的并發(fā)框架泞坦,一般用來在涉及到 生產(chǎn)者--消費者模型的時候會用到砖顷。拋開性能不談(實際上性能相當(dāng)棒)它的抽象方式和接口都設(shè)計得很好。
quartz
推薦理由:一個調(diào)度器滤蝠,當(dāng)涉及到多任務(wù)定時調(diào)用的時候這個框架能幫上非常多。特別在網(wǎng)絡(luò)游戲服務(wù)器中物咳,如果需要定時或者短時定時來做某些事情的時候(用戶的長時間buff狀態(tài),刷新時間等)囱持,quart是一個非常不錯的選擇。如果時間比較短的話纷妆,利用java內(nèi)置的DelayQueue 也可以。