Java的常見誤區與細節

作為開源代碼庫以及版本控制系統,Github在全球擁有1500多萬開發者用戶,托管著3800多萬個代碼庫,而這其中有330550個庫是Java的。當你需要使用相關代碼來幫助你開發項目或者制作一個簡單的小游戲時,及時了解GitHub上值得關注的項目無疑會讓你的開發事半功倍。在這里,我們整理了在Github上值得你關注的10個Java項目。

1. 極簡化的Java技術

Bootique是用于構建較少容器的可運行Java應用程序的極限化技術。這個項目支持你以??槲〈唇≧EST服務、web應用程序、數據庫遷移任務等工作,因此,你可以使用簡單的命令來運行和控制它們。

這個項目背后的目標是把應用程序從Java容器中解放出來,讓開發者改造他們的主程序。這個技術還有一個好處,它包含了一些內置命令,因此如果你不需要太多代碼或者你沒有向應用程序導入任何???,你仍然可以使用Bootique來執行。

2. 優雅的問題解決之道

這個項目的名字說明了一切:99-problems。正如你所猜想的那樣,它是一個通過收集問題來幫助你在邏輯編程下實踐自己技術的項目。你可以選擇使用Java 8、Scala還是Haskell來解決問題,而你最終的目標是找尋最優雅的問題解決方案。

如果你是一個難題愛好者——不用擔心,這里有各種不同的難度,不同時間跨越(15分鐘-幾小時)的難題在等待著你。沒有人會檢查你解決問題所花費的時間,但它會給你一個解決該問題的時間標準。

如果已經努力完成了這99個問題,你還會可以面對另外一個挑戰,這是為開發者們準備的小游戲:Java死亡競賽。如果你被某些難題卡住了,你不妨參看下這篇文章。

3. 字符串的處理

Strman-java是一個關于字符串處理的Java 8代碼庫。正如你所了解的那樣,它處理問題的方式非常直接。它能夠運行在Maven上,你所需要做的全部工作就是為你的構建工具選擇添加一個依賴關系。

如果你使用過Kik(Node.js的擴展包),并聽說過當它被撤包后所產生的leftPad?;?/a>,那么你一定會喜歡上Strman的,它包含了一個通過返回指定長度的新字符串來填補初始字符串的選項。

除此之外,你還可以在其中找到包括將字符串附加到數值、在特定索引獲取字符以及返回一個包含從頭到尾字符串的數組等各種函數的列表。

4. 數據瀏覽

如果你想找一個實現數據交互的炫酷方式,你可以留意下Dex。通過它,你可以對數據進行提取、轉換和可視化,同時還可以獲得數據預測的能力。你可以將數據通過3D的形式或者其它你喜歡的HTML樣式來進行可視化。

Dex集成了超過50種可視化模式,包括了世界地圖、約定時間線、網絡使用率等。你可以通過運行的R實例來對其進行集成,然后利用其復雜的統計分析和預測分析。

民主黨還是共和黨?一張弦圖說明美國歷任總統的陣營

5. 小型的大數據設計

Tablesaw是一個包含了數據工具和以列(column)為主要存儲形式的響應式內存數據表格插件。它圍繞著沒有誰愿意為小型任務進行分布式分析的理念而設計,你可以在一臺單獨服務器上使用一個200萬行的表格進行交互性的工作。

你可以使用Tablesaw來演示呈現的布局、數據優先級或者為用戶提供數據顯示與交互的一系列擴展控制。在Tablesaw中,你可以導入來自RDBMS和CSV文件的數據,添加或者移除列、執行示圖,通過壓縮的柱狀儲存格式來減少表格的操作和存儲。

6. 鍵值存儲

Chronicle Map是用于存儲內存鍵值的插件。它主要面向諸如貿易和金融市場應用這一類低延遲和多進程應用程序。這個代碼庫專注于讀寫查詢的平均延遲,它能夠讓你編寫與服務器中硬件執行線程數量相當的查詢。

這個插件的主要用例是可在單獨的服務器(比如Redis)上移除那些緩慢的鍵值存儲以及通過類似于JVM-centric的解決方案來對其加速。

7. 負載研究

Gumshoe可以讓你能夠監控應用程序的性能統計。使用它,你可以精確的找到代碼的行數并獲取調用堆棧及單個堆棧框架的相關統計數據。這意味著你能夠分析你電腦資源的使用情況(TCP、UDP、文件系統或處理器利用率)

這個代碼庫支持屏幕截圖、過濾以及生成可視化的數據統計,并且能夠給予你關于火焰圖和根圖(flame and root graphs)的直觀視圖。如果你還想要尋找關于應用程序的更多細節,你還可以在捕捉或者可視化的時候對堆棧框架進行過濾,并在運行時進行改變。

8. Java音樂器

SoundSea可以讓你通過其內置的元數據和音樂集搜索和下載歌曲。當你在搜索某一個歌曲時,SoundSea會尋找iTunes上的相關元數據和音樂集。如果擁有超過一首可用的結果,你可以從中再篩選需要的那一個。

歌曲的下載來自于Pleer.com,你可以通過高,低或者VBR比特率來進行過濾。如果你比較幸運,你甚至可以立刻下載作為最終結果的第一個搜索結果。此外,它還擁有一個迷你播放器,無需重載音樂庫就可以簡單傾聽歌曲。

9. 檢測內存泄露

LeakCanary是一個可幫助你阻止內存泄露的開源庫,你可以用它來構建調試檢測Java內存泄漏(以及Android)。

在你安裝了LeakCanary之后,你可以通過設置使檢測到內存泄露時進行自動的通知顯示。該插件另一個用途是通過建立智能插腳(smart pins)檢測某些對象是否已經被垃圾回收。

10. 多維數組

ND4J是一個開源的代碼庫,它將來自于Python社區的直觀科學計算工具帶到了JVMs中。它主要運用于生產環境,因此它擁有運行快速且內存需求小的特點。通過它的使用,工程師們找到了一種將算法和接口導入其它Java和Scala庫的簡單方法。

作為能夠提供通用的n維數組對象,包含GPUs、線性代數、信號處理等功能的多功能平臺,ND4J集成了Hadoop、Spark以及它們的模仿流行Python數學庫Numpy語義的API接口。

來源:dzone.com

上一篇: 除了Guava,Java開發者還值得了解的5個谷歌類庫

下一篇: 如何評價2016年7款最流行的Java框架?

分享到: 更多
押庄龙虎有技巧吗 网络赌博龙虎怎么老输 最新通比牛牛现金版 欢乐生肖稳赚技巧规律 金殿国际棋牌 江西老时时杀号定胆 超级大乐透基本走势图 助赢计划软件在线 玩通比牛牛有什么技巧 欢乐生肖游戏怎么玩 鑫宝国娱乐pt游戏平台 时时彩二星直选 北京赛车pk10怎么没有双面盘 围骰是什么意思 车pk10官网开奖记录 北赛车pk10直播链接