JavaRush /Java Blog /Random-TW /最節省時間的 10 個 Java 函式庫

最節省時間的 10 個 Java 函式庫

在 Random-TW 群組發布
本文的目標讀者:學習 Java 文法任務的初學者會對某些內容感興趣,但基本上,所提供的材料更適合那些已經跨過課程赤道的人(了解 Java 集合和 Java 多線程) quests)並開始對超越Java Core 框架的技術感興趣。在其存在的過程中,Java 已經獲得了大量的函式庫。但你怎麼知道哪些值得使用,哪些不值得呢?對於忙碌的開發商來說,去殼去麥是極其困難的。在本文中 Dreamix 的全端開發人員 Martin Patsov 談論了他對開源程式庫的熱愛,並提出了他認為特別有用的函式庫的建議。最節省時間的 10 個 Java 函式庫 - 1生存還是毀滅,這就是一個問題:同樣的 Java 庫最終會是拯救還是失敗......勇敢一點!「SigniOrs」已經在那裡了,我將把他們的經驗傳授給你們。 不要被我詩意的題外話誤導。Java中的函式庫確實非常多,要理解它們是非常困難的。然而,我非常愛他們。我甚至可以被稱為「圖書館佈道者」(IT領域的「佈道者」不是指經典福音的編譯者,而是專業推廣這種或那種技術的人。不要將其與普通公關人員混淆:最常見的是,一位IT佈道者對他所推廣的技術有透徹的了解-編者註)。庫是開源生態系統中非常重要的一部分。大型社區在他們周圍成長,從而發展和支持他們。那太好了。庫的主要優點是它們使我們能夠避免每次編寫程式碼時都重新發明輪子。盡可能經常使用庫(已經為特定任務編寫的程式碼)!你會節省時間。說真的,最好是與家人和朋友一起出去玩。

前10名

在這篇筆記中,我提到了我在工作中更喜歡使用的那些 Java 庫。它們都是開源軟體。我選擇它是因為它的實用性、良好的文件和支援以及定期更新。我想再次強調,這是我個人的選擇,它可能與您的選擇有很大不同。

1.Java標準函式庫

是的,是的,你不這麼認為!而且,許多人低估了Java標準庫的大量功能,不知道如何釋放其程式設計潛力……甚至根本不使用它們。以下是其中一些的簡要描述:
  • java.lang。該庫總是導入到任何 Java 應用程式中,因為它包含您基本上無法編程的所有內容( String Double Enum Math等)。

  • java.util中,您可以找到 Java 中可用的所有集合和資料結構。

  • 接下來,我們有java.io用於讀取檔案、運行流、Pipe 類別物件等。

  • 您很可能已經聽說過前三個。但並不是每個人都知道java.nio ,它是java.io的替代品。該庫負責非阻塞 I/O,正如您可能猜到的那樣,允許 I/O 密集使用。

  • java.net用於處理套接字、建立連線或短網路應用程式。

  • 在 Java 中,我們還有用於使用 GUI 的函式庫:javax.swing(較舊的java.awt的相當過時的擴充)。

  • 我們甚至可以使用java.sound播放音樂並建立 MIDI 檔案。

2. 潮人

JHipster 是一個快速部署、開發和創建高負載可擴展 Web 伺服器的平台,使用最現代、最時尚的技術,如 Spring、Spring-MicroServices、Netflix、Docker、Kubernetes、AngularJs、Liquibase、MongoDB、Cassandra、ElasticSearch。
最節省時間的 10 個 Java 函式庫 - 2
老實說,這個「Java 潮人」確實救了我幾個月的命。我可以肯定地說,JHipster 是我個人最喜歡的列表,並且在我心中佔有特殊的位置。這個工具對於產生分散式 Web 伺服器專案的草圖幾乎是不可或缺的。它可以產生帶有依賴的pom文件,配置Elastic Search和Connection,你要做的就是添加架構的業務邏輯。生成的項目中包含的主要和最重要的庫是:
  • Spring Boot有助於加速和簡化應用程式開發
  • Angular /AngularJS - JavaScript 框架
您可以在這裡找到有關JHipster的更多資訊。

3. Maven

Maven 是建置 Java 專案的三種最受歡迎的工具之一。他負責編譯、創建 jar 檔案(Java 檔案)、創建程式發行版以及產生文件。
最節省時間的 10 個 Java 函式庫 - 3
每個現代專案都由不同的文件、模組和技術組成。簡而言之,建立一個專案就是準備它的「工作」版本,也就是可以啟動執行的程式。這可以在命令列上手動完成,也可以編寫特殊的腳本。然而,使用特殊的應用程式來做到這一點要容易得多。它們被稱為“自動裝配系統”。Maven 是三個此類程式之一,另外兩個是 Gradle 和 Ant。此類系統接收項目的原始碼作為輸入,輸出是可以運作的程式。
專案結構(依賴項、設定、文件)在 pom.xml 檔案(POM - 專案物件模型)中描述,該檔案應位於專案的根資料夾中。老實說,Maven 是一個很棒的東西,即使一開始還不是很清楚。如果您以前從未使用過 Maven,那麼您就錯過了。坦白說,我甚至不明白在 Maven 之前企業應用程式是如何創建的。您可以在此處閱讀俄語版 Maven 。

4.阿帕契共享資源

Apache Commons 其實是一個專注於建立 Java 函式庫的完整專案。或用於各種目的的「一大組小型 Java 實用程式」。順便說一句,Apache Commons 實用程式是幾個非常知名的專案的基礎,例如 Tomcat、Hibernate 等。以下是一些最常用的 Apache Commons 庫的簡短清單:
最節省時間的 10 個 Java 函式庫 - 4
  • 公共數學。Apache Commons Math Library,顧名思義:它包含用於複雜數學和統計運算和計算的元件。

  • 公共 CLI。提供用於解析命令列參數的 API。如果沒有傳遞參數和控制其行為的能力,就根本不值得考慮創建一個應用程式!

  • 共享 CSV。無論您開發什麼,在某些時候您都必須處理使用 csv 檔案的需要。也就是說,它們必須被打開、閱讀、編輯、保存和創建。我建議在儲存/建立檔案時使用 CSVFormat 類別中的 RFC 4180 格式和 UTF-8 編碼。

  • 下議院I.O. 用於簡化I/O操作。至少看一下 ReversedLinesFileReader,這是值得的!
您可以在此處閱讀有關 Apache Commons(英文)的資訊。

5.番石榴

Guava 是一組針對 Java 的 Google 核心函式庫。它們是否包含新的集合類型(例如多重映射和多重集)、不可變集合、圖形庫、函數類型?用於並發、I/O、雜湊、字串處理等的實用程式。所有這些工具都被 Google 專家在工作中使用,這已經是一個很好的推薦。
最節省時間的 10 個 Java 函式庫 - 5
在某種程度上,Guava 是 Apache Commons 的替代品。事實上,我們可以談論 Guava 很長時間(一定要注意它!),但這裡我只會提到這個庫中的一個有用的東西。也許您已經遇到過組織收藏或比較其中內容的挑戰?具有多個條件的多列的高級排序和比較怎麼樣?ComparisonChain元件用於實現集合的高階且複雜的排序。您可以在這裡閱讀有關番石榴(英文)的資訊。

6. 谷歌-gson

google-gson函式庫對於將 Java 物件轉換為 JSON 非常有用,反之亦然。在開發行動應用程式和建立/使用 REST API 時,或者在需要將 Java 物件轉換為其 JSON 表示形式(反之亦然)時,它特別有用。
最節省時間的 10 個 Java 函式庫 - 6
您將從Java Collections探索 中了解 JSON(JavaScript 物件表示法)、Guava、Apache Commons 和其他有趣的東西。
您可以在此處閱讀有關 google-gson(英文)的資訊。

7.Hibernate-ORM

Hibernate 是一個旨在解決物件關係映射(ORM)問題的函式庫。Hibernate ORM 用於在關聯式資料庫中儲存資料。它為開發人員提供了一種更簡單、更抽象的方法來執行此操作。它在其實作中使用 JDBC。Hibernate 也是 JPA 規範的實作。
最節省時間的 10 個 Java 函式庫 - 7
您可以在此處閱讀有關 Hibernate ORM(英文)的資訊。

8. 莫基托

不要讓 Mockito 這個名字欺騙了您。這不是關於雞尾酒,而是關於模擬對象的庫。模擬物件是根據某種給定方案模仿真實物件行為的物件。例如,對於單元測試,這種「假」物件可以模擬業務物件的行為。嗯,Mockito 模擬庫增加了創建和使用模擬物件的便利性。
最節省時間的 10 個 Java 函式庫 - 8
您可以在這裡找到有關 Mockito 的資訊。

9.JUnit

JUnit是一個免費的 Java 框架,用於建立單元測試(又稱單元測試)。這個庫是最受歡迎的庫之一,幾乎每個人都使用它。我們建議您盡快掌握它,因為新的 Java 開發人員和 Java 實習生常常被迫「用測試覆蓋程式碼」。而且,我必須說,這遠非職業生涯最糟糕的開始。
最節省時間的 10 個 Java 函式庫 - 9
有關 Junit 的更多資訊請參閱此處

10.Log4j和Slf4j

這兩個框架旨在隱藏用於記錄 Java 應用程式運行時發生的某些事件的例程操作的實作。Slf4j 是其他日誌框架(相同的 Log4j)的抽象。
最節省時間的 10 個 Java 函式庫 - 10
有關Log4jSlf4j的更多資訊。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION