溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

你不容錯過的12個Java項目

發(fā)布時間:2020-10-13 18:11:05 來源:網(wǎng)絡(luò) 閱讀:151 作者:sxt程序猿 欄目:編程語言

GitHub可謂是一座程序開發(fā)的大寶庫,有些素材值得fork,有些則能幫助我們改進(jìn)自有代碼或者學(xué)習(xí)編程技能。因此在開發(fā)工作當(dāng)中我們幾乎不可能繞得開GitHub。
下面,本文將同大家分享一些有趣且頗為實用的Java庫。

1.極致精簡的Java

Bootique是一項用于構(gòu)建無容器可運行Java應(yīng)用的極簡技術(shù)。該項目允許大家創(chuàng)建REST服務(wù)、Web應(yīng)用、任務(wù)、數(shù)據(jù)庫遷移等等,且一切都立足于模塊實現(xiàn)。另外,大家也可以將其作為簡單的命令進(jìn)行使用。

該項目的目標(biāo)在于將應(yīng)用從Java容器中解放出來,允許開發(fā)者重新回歸main()方法。另外其中還包含部分內(nèi)置命令,因此就算需要處理的代碼量不多或者并未向應(yīng)用中導(dǎo)入任何模塊,仍然能夠利用Bootique對其加以執(zhí)行。

2.監(jiān)控Java

無論大家使用哪種監(jiān)控工具,Automon都能夠?qū)⑵渑cAOP(AspectJ)相結(jié)合以實現(xiàn)Java代碼、JDK以及依賴庫監(jiān)控聲明。其可與其它各知名監(jiān)控工具相協(xié)作,例如JAMon、JavaSimon、Yammer Metrics以及StatsD等,同時亦支持各類日志記錄庫,包括perf4j、log4j、sl4j等等。

3.數(shù)據(jù)瀏覽

如果你希望通過酷炫的方式進(jìn)行數(shù)據(jù)交互,那么Dex絕對不容錯過。它能夠幫助我們提取、轉(zhuǎn)換及可視化數(shù)據(jù),同時附帶預(yù)測功能。大家可以將可視化結(jié)果發(fā)布為3D或者其它HTML變量形式。

Dex允許我們生成超過50種不同的可視化模式,其中包括世界地圖、參與時間表、網(wǎng)絡(luò)使用情況等。大家也可以利用R與其運行實例相結(jié)合,從而構(gòu)建起復(fù)雜的統(tǒng)計分析與預(yù)測分析體系。

4.鍵值存儲

Chronicle Map是一套內(nèi)存內(nèi)鍵值存儲方案,其設(shè)計目標(biāo)在于實現(xiàn)低延遲與/或多進(jìn)程應(yīng)用,例如貿(mào)易與金融市場應(yīng)用。這套庫主要面向中等讀取與寫入查詢延遲場景,允許用戶根據(jù)服務(wù)器中的硬件執(zhí)行線程數(shù)量編寫合適的查詢機制。

其主要用途包括在單一服務(wù)器(例如Redis)中替代低速鍵值存儲方案,或者取代同類面向JVM的解決方案以實現(xiàn)速度提升。大家也可以將部分應(yīng)用狀態(tài)移出Java堆,從而降低堆體積及GC壓力。

5.檢查泄漏問題

LeakCanary是一套開源庫,旨在幫助我們解決內(nèi)存泄漏問題。大家可以利用它在Java(與Android)中檢查內(nèi)存泄漏。正如其GitHub頁面中所言,“千里之堤潰于蟻穴”。

在LeakCanary設(shè)置完成后,大家可以利用其自動檢查泄漏并在發(fā)現(xiàn)問題時給出通知。

6.字符串操作

Strman-java庫是一套Java 8庫,專門用于處理字符串。由于其可用于Maven,因此大家只需要面向選定的構(gòu)建工具添加關(guān)聯(lián)性即可使用。

如果大家使用過Kik并聽說過其遭遇的leftPad問題,那么Strman可能是個更好的選擇——其能夠返回特定長度的新字符串,且自動填充開頭部分內(nèi)容。另外,其中還提供一整套功能列表,包括向值附加字符串、從特定目錄中提取字符以及利用字符串在開始與結(jié)束間返回數(shù)組等等。

7.優(yōu)雅的問題處理方式

99-problems,光看名字就能對其功能了解一二。很明顯,它的作用是幫助大家磨練邏輯編程中的具體技能。大家可以選擇利用Java 8、Scala或者Haskell進(jìn)行問題解決,并最終找到最實用的解決辦法。

如果大家喜愛解題,其中還提供多種不同層級的難度供各位選擇。另外,如果大家將全部99道難題解決掉,則可進(jìn)一步?jīng)_擊Java Deathmatch。如果大家被難住了,請點擊此處查看難題——但請注意,認(rèn)真思考之后再參閱比較好哦。

8.負(fù)載調(diào)查工具

Gumshoe允許大家監(jiān)控自己的應(yīng)用性能統(tǒng)計指標(biāo)。有了它,我們可以精確到具體代碼行并了解與堆棧調(diào)用及個別棧幀相關(guān)的統(tǒng)計數(shù)據(jù),從而確切分析資源使用情況(例如TCP、UDP、文件系統(tǒng)或處理器使用量)。

這套庫能夠在統(tǒng)計數(shù)據(jù)生成時對其進(jìn)行捕捉、過濾與可視化處理,從而更為直觀地實現(xiàn)數(shù)據(jù)結(jié)論查閱。如果需要更為具體地使用,大家還可以在數(shù)據(jù)捕捉與/或可視化處理過程中過濾棧幀,并在其運行中加以變更。

9.小小大數(shù)據(jù)

Tablesaw是一套內(nèi)存內(nèi)數(shù)據(jù)表,其中包含多種數(shù)據(jù)工具與面向列的存儲格式。其設(shè)計思路認(rèn)為沒人會面向小型任務(wù)執(zhí)行分布式分析,而大家可以在單一服務(wù)器上對200萬行級別的表進(jìn)行交互。

你能夠利用Tablesaw執(zhí)行各種規(guī)則,從而檢查顯示布局、數(shù)據(jù)優(yōu)先級或者針對數(shù)據(jù)顯示及交互向特定用戶提供擴展控制范圍。在它的幫助下,我們可以利用RDBMS與CSV文件導(dǎo)入數(shù)據(jù),添加及刪除列,執(zhí)行映射與規(guī)約操作或者將表保存在經(jīng)過壓縮的列式存儲格式當(dāng)中。

10.Java音樂

SoundSea允許大家搜索并下載歌曲。其內(nèi)置有元數(shù)據(jù)與專輯信息,大家在查找特定歌曲時,SoundSea會在iTunes上查找相關(guān)元數(shù)據(jù)與專輯信息,并顯示相關(guān)結(jié)果。如果匹配的歌曲超過一首,大家可在其中找到自己需要的條目。

歌曲本身下載自Pleer.com,大家還可以根據(jù)高品質(zhì)、低品質(zhì)或者VBR碼率進(jìn)行過濾。這同時也是一款迷你播放器,供我們直接聆聽歌曲而不再經(jīng)由其它音樂庫。

11.多維數(shù)組

ND4J是一套開源庫,能夠?qū)⒍喾N來自Python社區(qū)的科學(xué)計算工具引入JVM。其面向生產(chǎn)環(huán)境設(shè)計,因此運行速度很快但對內(nèi)存容量卻要求不高。在它的幫助下,工程師們能夠輕松將算法及接口移植到Java與Scala庫當(dāng)中。

這套庫的主要貢獻(xiàn)是提供一套通用型n維數(shù)組對象,其多平臺功能包括GPU與線性代數(shù)外加信號處理能力。其與Hadoop及Spark相集成,且提供API以模擬Numpy——一款高人氣Python數(shù)學(xué)庫。

12.最佳Java

awesome-java是一套出色的Java框架、庫與軟件合集。如果大家不太清楚自己應(yīng)當(dāng)如何選擇具體方案,請務(wù)必參考這套清單 ,其中甚至根據(jù)類別對各條目加以劃分。

其中還包含一部分仍在使用的古老工具,包括能夠簡化映射的框架,可構(gòu)建應(yīng)用周期與依賴性的工具以及負(fù)責(zé)處理字節(jié)碼編程的庫等等。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI