整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          最好的編程語言是哪一種?PHP,Python還是C++?我覺得是

          hp,python,C++哪個更好一點,哪個簡單易學一點

          隨著計算機技術的發展,如今的編程語言其實都能算是簡單易學了。不考慮算法和數據結構等知識,單從學會編程語言本身來講,只需要一點點英語基礎,能認識幾十個單詞,花一點時間,通常不超過三個月,就完全可以學會一門新的編程語言了。

          不管你是從來沒有接觸過計算機編程,還是想換一種從未接觸的新的編程語言,通常都會有一個疑問:哪種編程語言適合我?也有人會好奇,到底哪種語言是世界上最好的編程語言,如果存在的話,學會這種語言不就行了。

          在過去,通常意義上的編程指的都是桌面程序的開發,比如Windows操作系統中的記事本和計算器,都算是桌面應用。在那個時代,通常只要學好一門語言就可以通吃大部分應用場合了。曾經有一種說法,學好C++,走遍天下都不怕,可見一斑。

          但在今天看來,計算機編程已經滲透到人類生活的各個領域,計算機設備也不僅僅指的是PC機,在Web領域、移動端、傳統桌面、游戲和嵌入式設備中都大量運行著程序代碼,來滿足人們日益增長的計算需求。對于沒有很多經驗的初學都來講,面對如此多的開發環境,選擇一種語言是相當困難的。

          一、Web開發

          所謂Web開發,指的是編寫一個網站,或者一個開發一個基于瀏覽器的應用軟件。Web開發在編程領域是獨一無二的,與傳統的開發方式截然不同。Web開發可以說是入門最簡單的編程領域,同時隨著互聯網的普及,Web開發是當前最熱門的行業之一,所以我們認為對于初學者來說,接觸Web開發是一個不錯的選擇。

          HTML與CSS:雖然嚴格來講,它們并不是真正意義上的編程語言,但兩者都是創建網頁所必需的,HTML描述了頁面的數據結構,而CSS則決定了頁面的排版樣式及視覺效果。HTML與CSS都遵循W3C(萬維網聯盟)所制定的標準,并且簡單易懂,很容易學會。

          Javascript:傳統意義上的Javascript是指增加瀏覽器邏輯功能和實現頁面動態變化的唯一途徑。同時,它又是學習某些編程框架如JQuery的基礎。如今,Javascript可以同時在瀏覽器端和服務器端進行開發,甚至利用某些工具,還能應用于桌面領域。Javascript是現在最火熱的編程語言,不論是否從事Web開發,都應該盡可能的掌握這門語言。

          Python:Python語言通常應用于服務器端邏輯,也就是說,在瀏覽器端,還是需要通過HTML, CSS和Javascript來構建頁面。但在服務器端,Python則是一門神奇的語言,簡單易學,功能強大。越來越多的程序員加入到Phthon開發的行列中,這讓其迅速成為了當前最熱門的語言之一。

          PHP: 有一種說法,PHP是世界上最好的編程語言。這種說法是否靠譜姑且不論,但PHP的確是一門效率很高的語言。由于這門語言在Web開發領域屬于不是那么時髦的語言,所以有許多歷史遺留問題,顯得有些混亂。不過仍然有許多地方在使用PHP語言,比如著名的開源博客平臺WordPress,要知道全世界27%的網站是通過WordPress搭建的。

          二、移動開發

          移動開發是目前軟件編程領域的大熱門,并且在相當長的時間里,它將一直是整個行業最前沿的陣地。整個移動開發領域保持高速發展,技術日新月異,沒有任何放緩的跡象。人們越來越離不開手機,離不開手機應用,移動開發領域競爭激烈,可選擇的編程語言也不多。神奇的是,每天都有各種神奇的應用被開發出來,可見這一市場的繁榮。

          Java: Java語言是開發安卓應用的主要編程語言,同時Java也被譽為世界上最偉大的語言之一,移動開發只是Java語言無數應用場合中的一種而已。雖然說你可以使用其它語言來編寫安卓應用,但使用Java來開發,通常會擁有更高的性能和靈活性,遇到問題時也更容易在開發社區找到解決方案。

          Swift: iOS 系統的應用此前一直是通過Objective C語言來開發的,但現在蘋果公司更建議你采用其新開發的Swift語言。相比較之下,Swift語言更容易學習和使用,很適合iOS開發新手,通常用Swift語言開發要比Objective C語言開發更高效、穩定。

          Javascript: 可以看到,開發安卓應用和開發iOS應用采用了完全不同的技術,這給開發人員帶來了極大的困擾,為了能編寫出同時運行在兩個平臺的應用,程序員可能要準備兩個截然不同的開發環境。于是就有一些框架應運而生了,它們允許開發者用Javascript開編寫應用,并幫你把代碼轉換為兩個不同的應用安裝包。還有一些框架則利用內嵌瀏覽器的技術,通過Web頁面的方式來開發移動應用。這些技術使得用Javascript來編寫移動端軟件成為一種可能。

          三、桌面開發

          雖然桌面開發領域不再那么熱門,但并不意味著它已經過時了。相反的,隨著計算機技術越來越深入我們的生活,桌面應用的開發需求仍然十分巨大。曾經,開發桌面程序是一件非常復雜的事情,不過今非昔比,現在有了更多強大的工具,進入桌面開發領域已經沒有那么高的門檻了。

          Java: 在很久很久以前,Java應用程序中的圖形用戶界面(GUI)都是通過Swing開發包來實現的,不過現在一般都采用JavaFX框架,它提供了一個更豐富、更時尚、更現代的方式來構建應用程序設計。由于Java程序運行在虛擬機中,所以擁有更高的兼容性和可移植性,可以在多種平臺上運行。

          C#: C#語言(C Sharp)是一種基于微軟公司推出的 .NET 框架的編程語言,與Java有許多相似之處。用C#語言開發應用程序,通常會用到 Visual Studio,Visual Studio被譽為最好的集成開發工具,廣受C#開發者的好評。你可以很方便的通過C#語言,并使用WPF框架來創建Windows桌面應用。曾經C#只能用于Windows平臺的開發,但現在,也可以通過Mono和Xamarin等第三方工具來實現跨平臺開發。

          Swift: 除了 iOS 應用,Swift語言還可以用來開發Mac系統的桌面應用。如果你習慣于在蘋果生態系統下工作和學習,那么Swift語言就是最好的選擇。

          四、游戲開發

          游戲開發過去一直是非常困難的事情,需要掌握大量的知識和工具,但現在,游戲編程變得越來越簡單。隨著大量免費(開源)游戲引擎的出現,你幾乎可以選擇任何主流語言,并可以用它來創建游戲。但是有些語言顯然是更優秀的,如果你是新手,我們推薦你選擇這些語言。

          C#: 許多時髦的游戲引擎都是采用C#語言開發的,通常這些引擎支持2D和3D游戲開發,并且可以將構建導出到許多平臺,包括Windows、Mac、Linux、Android、iOS和HTML5等等。采用C#的游戲引擎通常都比較容易學習,對開發者更友好。

          Java: 程序員可以使用諸如LibGDX框架這樣的開源引擎來快速創建游戲,該框架可以導出到任何桌面平臺,和安卓、iOS等移動端。LibGDX是一個簡單明了的框架,有助于快速生成產品。即使不談游戲引擎,特別是在安卓平臺,Java語言都是首選的游戲開發工具。

          Haxe: Haxe是一個全新的、現代的語言,你可以用它來取代其他的編程語言。通過游HaxeFlixel或Luxe這樣的戲引擎,開發跨平臺的2D游戲的速度要比其他語言快得多。可惜的是,目前為止還沒有一款針對Haxe語言的3D引擎面市。

          JavaScript: Javascript已經取代Flash,成為開發Web游戲的最佳和最快的方法。通過類似Phaser這樣免費開源的HTML5游戲框架,以及像 nw.js 這樣的工具,快速開發并包裝出一款Web或者桌面游戲。

          五、數據處理和自動化腳本

          有時候我們學習編程語言并不是為了開發一款應用軟件,也許只是為了統計和分析一些數據,或者用程序來實現一個自動化腳本,代替人工來完成一些枯燥乏味的工作。這種情況下,下面兩種語言或許是不錯的選擇:

          R語言: R語言是一種主要用于數據挖掘、數據計算和數據分析的編程語言。如果你曾經使用過MATLAB,那么可以把R語言看作是一個自由和開放源碼的替代方案。雖然MATLAB更容易使用,功能也更強大,但它也很貴(售價高達上萬元)。R語言唯一的缺點是入門比較難,如果你不介意它的學習曲線,那么選擇R語言能為給帶來許多好處。

          Python: Python語言除了在Web開發領域外,還經常在數據計算中使用,因為它是一種直觀而非冗長的語言,學習和使用都很容易。你可以用它做各種事情,包括數據抓取、分析以及編寫自動化腳本。而類似NumPy(數據計算)和Pada(數據分析)這樣的第三方工具則能讓你事半功倍。

          本人最熟悉的是C++,10年碼農,差不多擼了10年C++。

          java、golang、python、php、jsp也都寫過相當一段時間。

          但,如果現階段讓我推薦,我會推薦NVM(node.js+vue.js+mysql/mongodb),前后端上下通吃沒有壓力,從Vue.js切入(不建議react和angular),可以用餓了么的ElementUI(基于Vue)寫界面,Vue文檔非常友好,一兩天就能入門,一周就能搭個可用平臺,配合atom等開源方案可以很輕松的制作desktop app或者移動端app,后端node.js使用express庫,寫restful api相比python效率高很多(golang開發效率差不多,java和C++就不說了)。

          node.js生態非常完善,基本想要的庫npm install一下就OK了。

          絕對值得花小幾天嘗試一下,就算不適合也不虧。當然前提要有一點點html、js、css基礎。網上有個斐波那契單一場景的性能對比,nodejs差不多是C++的4x倍,golang是C++的1.x倍。

          雖然性能不及純后端語言,但技術棧單一,工作好找(現在國內用Vue的公司開始變多)。C++、golang性能確實高,但C++開發效率低只能做后端,而golang只能用template方式開發網站,并且繞不開再學習前端技術棧(php也一樣)。而js本身就是前端技術棧的一部分,node.js自然而然具有天然優勢。性能不夠、機器來湊,畢竟現在貴的還是人力哇!少開發一個月,完全可以多租點機器了。

          NVM絕對是創業公司或自主創業的不二選擇。

          總之,可以看到,世界上沒有哪種語言是最好的,只有最適合自己的語言。

          分析了這么多肯定要給大家點干貨吧

          寫在最后,很多人都知道我是自學全棧的,都以為我有很多web前端,PHP,JavaScript視頻學習資料,我就笑了,我確實有呀,哈哈哈,下面就是我收集的web前端,PHP,JavaScript全套視頻了。

          這些都是我積累幾年來的web前端,PHP,JavaScript學習視頻,前前后后也花了有2萬多元買的,我都看完了也沒啥用了,這里分享給大家,評論區。

          創翻譯,原始鏈接 本文為awesome系列中的awesome java

          Awesome Java

          Java 框架、庫和軟件的精選列表

          項目

          Bean映射

          簡化 bean 映射的框架

          • dOOv - 為類型安全的域模型驗證和映射提供流暢的 API。它使用注釋、代碼生成和類型安全的 DSL 來使 bean 驗證和映射變得快速而簡單。
          • JMapper - 使用字節碼操作進行閃電般的快速映射。支持注解和 API 或 XML 配置。
          • MapStruct - 基于約定優于配置的方法,簡化不同 bean 類型之間映射的代碼生成器。
          • ModelMapper - 自動將對象相互映射的智能對象映射庫。
          • Orika - JavaBean 映射框架,可以遞歸地將數據從一個對象復制到另一個對象。
          • reMap - 基于 Lambda 和方法句柄的映射,如果對象具有不同的名稱,則需要代碼而不是注釋。
          • Selma - 基于注釋處理器的 bean 映射器。

          構建

          處理應用程序的構建周期和依賴關系的工具.

          • Apache Maven - 有利于約定優于配置的聲明式構建和依賴管理。 它可能比 Apache Ant 更可取,后者使用相當程序化的方法并且可能難以維護。
          • Bazel - 來自 Google 的工具,可快速可靠地構建代碼。
          • Buck - 鼓勵創建由代碼和資源組成的小型、可重用模塊。
          • Gradle - 通過 Groovy 編程而不是聲明 XML 的增量構建。 與 Maven 的依賴管理配合得很好。

          字節碼操作

          以編程方式操作字節碼的庫

          • ASM - 通用的低級字節碼操作和分析。
          • Byte Buddy - 使用流暢的 API 進一步簡化字節碼生成。
          • bytecode-viewer - Java 8 Jar & Android APK 逆向工程套件。 (僅限 GPL-3.0)
          • Byteman - 在運行時通過 DSL(規則)操作字節碼; 主要用于測試/故障排除。 (LGPL-2.1 或更高版本)
          • cglib - 字節碼生成庫。
          • Javassist - 嘗試簡化字節碼編輯。
          • Mixin - 使用真正的 Java 代碼在運行時操作字節碼。
          • Perses - 根據混沌工程原理在字節碼級別動態注入故障/延遲。

          緩存

          提供緩存的庫。

          • cache2k - 內存中高性能緩存庫。
          • Caffeine - 高性能、近乎最佳的緩存庫。
          • Ehcache - 分布式通用緩存。
          • Infinispan - 用于緩存的高并發鍵/值數據存儲。

          CLI

          與 CLI 相關的所有庫.

          • ASCII 表 - 以 ASCII 格式繪制表格的庫。
          • Airline - 基于注釋的框架,用于解析類似 Git 的命令行參數。
          • args4j - 解析命令行參數的小型庫。
          • Jansi - 用于格式化控制臺輸出的 ANSI 轉義碼。
          • Java ASCII 渲染 - 控制臺的圖形原語。
          • JCommander - 具有自定義類型和通過實現接口驗證的命令行參數解析框架。
          • jbock - 無反射命令行解析器。
          • Jexer - 高級控制臺(和 Swing)文本用戶界面 (TUI) 庫,具有鼠標可拖動窗口、內置終端窗口管理器和 Sixel 圖像支持。看起來像 Turbo Vision。
          • JLine - 包括現代 shell 的功能,如完成或歷史。
          • JOpt Simple - 使用 POSIX#getopt 和 GNU#getopt_long 語法的流暢解析器。
          • picocli - 使用中的 ANSI 顏色和樣式有助于基于注釋的 POSIX/GNU/任何語法、子命令、選項和位置參數的強類型。
          • Text-IO - 幫助創建完整的基于控制臺的應用程序。
          • Lanterna - 簡單的控制臺文本-GUI 庫,類似于curses。 (僅限 LGPL-3.0)

          集群管理

          可以動態管理集群內應用程序的框架。

          • Apache Aurora - 用于長時間運行服務和 cron 作業的 Mesos 框架。
          • Singularity - 使部署和操作變得簡單的 Mesos 框架。 它支持 Web 服務、后臺工作人員、計劃作業和一次性任務。

          代碼分析

          提供指標和質量測量的工具。

          • Checkstyle - 編碼約定和標準的靜態分析。 (LGPL-2.1 或更高版本)
          • Error Prone - 將常見的編程錯誤捕獲為編譯時錯誤。
          • Infer - 用于驗證代碼正確性的現代靜態分析工具。
          • jQAssistant - 使用基于 Neo4J 的查詢語言進行靜態代碼分析。 (僅限 GPL-3.0)
          • NullAway - 以低構建時間開銷消除 NullPointerExceptions。
          • PMD - 用于查找不良編碼實踐的源代碼分析。
          • SonarJava - SonarQube & SonarLint 的靜態分析器。 (僅限 LGPL-3.0)
          • Sourcetrail - 可視化源代碼導航器。
          • Spoon - 用于分析和轉換 Java 源代碼的庫。
          • Spotbugs - 靜態分析字節碼以發現潛在的錯誤。 (僅限 LGPL-2.1)

          代碼覆蓋率

          為測試套件啟用代碼覆蓋率指標收集的框架和工具。

          • Clover - 依賴源代碼檢測而不是字節碼檢測。
          • Cobertura - 依靠離線(或靜態)字節碼檢測和類加載來收集代碼覆蓋率指標。 (僅限 GPL-2.0)
          • JaCoCo - 支持收集代碼覆蓋率指標的框架,使用離線和運行時字節碼檢測。

          代碼生成器

          生成重復代碼的工具,可以有效減少代碼量和錯誤.

          • ADT4J - 代數數據類型的 JSR-269 代碼生成器。
          • Auto - 生成工廠、服務和值類。
          • Bootify - 使用 JPA 模型和 REST API 生成基于瀏覽器的 Spring Boot 應用程序。
          • FreeBuilder - 自動生成Builder模式。
          • Geci - 發現需要生成代碼的文件,自動更新并使用方便的 API 寫入源代碼。
          • Immutables - 用于生成簡單、安全和一致的值對象的注釋處理器。
          • JavaPoet - 生成源文件的 API。
          • JHipster - Spring Boot 和 AngularJS 的 Yeoman 源代碼生成器。
          • Joda-Beans - 向 Java 添加可查詢屬性的小型框架,增強了 JavaBeans。
          • JPA Buddy - IntelliJ IDEA 插件。提供用于生成 JPA 實體、Spring Data JPA 存儲庫、Liquibase 變更日志和 SQL 腳本的可視化工具。通過將模型與 DB 進行比較,并從 DB 表逆向工程 JPA 實體,提供自動 Liquibase/Flyway 腳本生成。
          • Lombok - 旨在減少冗長的代碼生成器。
          • Record-Builder - Java 記錄的配套構建器類、withers 和模板。
          • Telosys - 簡單輕巧的代碼生成器可作為 Eclipse 插件和 CLI 使用。

          編譯器

          幫助創建解析器、解釋器或編譯器的框架。

          • ANTLR - 用于自上而下解析的復雜全功能框架。
          • JavaCC - 生成自頂向下解析器的解析器生成器。 允許詞法狀態切換并允許擴展 BNF 規范。
          • JFlex - 詞法分析器生成器。

          計算機視覺

          尋求從圖像和視頻中獲取高級信息的庫

          • BoofCV - 用于圖像處理、相機校準、跟蹤、SFM、MVS、3D 視覺、二維碼等的庫。
          • ImageJ - 帶有 API 的醫學圖像處理應用程序。
          • JavaCV - OpenCV、FFmpeg 等的 Java 接口。

          配置

          提供外部配置的庫。

          • centraldogma - 基于 Git、ZooKeeper 和 HTTP/2 的高可用版本控制服務配置存儲庫。
          • cfg4j - 用 Ja?va 編寫的分布式應用程序的現代配置庫。
          • config - 支持 Java 屬性、JSON 或其人工優化的超集 HOCON 的配置庫。
          • Configurate - 支持各種配置格式和轉換的配置庫。
          • dotenv - 使用環境特定文件的十二因素配置庫。
          • ini4j - 提供處理 Windows 的 INI 文件的 API。
          • KAConf - 基于注解的 Java 和 Kotlin 配置系統。
          • microconfig - 為微服務設計的配置系統,有助于將配置與代碼分離。不同服務的配置可以有共同的和特定的部分,并且可以動態分布。
          • owner - 減少屬性的樣板。

          約束滿足問題求解器

          幫助實現優化和可滿足性問題的庫。

          • Choco - 使用約束編程技術的現成的約束滿足問題求解器。
          • JaCoP - 包括 FlatZinc 語言的接口,使其能夠執行 MiniZinc 模型。 (AGPL-3.0)
          • OptaPlanner - 業務規劃和資源調度優化求解器。

          CSV

          簡化讀取/寫入 CSV 數據的框架和庫。

          • FastCSV - 性能優化、無依賴且符合 RFC 4180。
          • jackson-dataformat-csv - 用于讀取和寫入 CSV 的 Jackson 擴展。
          • opencsv - 簡單的 CSV 解析器。
          • Super CSV - 強大的 CSV 解析器,支持 Dozer、Joda-Time 和 Java 8。
          • uniVocity-parsers - 最快和最完整的解析器之一。 還附帶 TSV 和固定寬度記錄的解析器。

          數據結構

          高效和特定的數據結構。

          • Apache Avro - 具有動態類型、未標記數據和沒有手動分配 ID 的數據交換格式。
          • Apache Orc - 用于基于 Hadoop 的工作負載的快速高效的列式存儲格式。
          • Apache Parquet - 基于 Google 關于 Dremel 的論文中的組裝算法的列式存儲格式。
          • Apache Thrift - 起源于 Facebook 的數據交換格式。
          • 大隊列 - 基于內存映射文件的快速且持久的隊列。
          • HyperMinHash-java - 用于計算日志空間中的并集、交集和集基數的概率數據結構。
          • Persistent Collection - Java Collections Framework 的持久且不可變的類似物。
          • Protobuf - Google 的數據交換格式。
          • RoaringBitmap - 快速高效的壓縮位圖。
          • SBE - 簡單二進制編碼,最快的消息格式之一。
          • Tape - 閃電般快速、事務性、基于文件的 FIFO。
          • Wire - 干凈、輕量級的協議緩沖區。

          數據庫

          簡化與數據庫交互的一切。

          • Apache Calcite - 動態數據管理框架。它包含構成典型數據庫管理系統的許多部分。
          • Apache Drill - 用于大數據探索的分布式、即時模式、ANSI SQL 查詢引擎。
          • Apache Phoenix - 基于 HBase 的高性能關系數據庫層,用于低延遲應用程序。
          • ArangoDB - ArangoDB Java 驅動程序。
          • Chronicle Map - 高效、內存中(選擇持久化到磁盤)、堆外鍵值存儲。
          • Debezium - 用于捕獲變更數據的低延遲數據流平臺。
          • druid - 高性能、面向列的分布式數據存儲。
          • eXist - NoSQL 文檔數據庫和應用平臺。 (僅限 LGPL-2.1)
          • FlexyPool - 將指標和故障轉移策略引入最常見的連接池解決方案。
          • Flyway - 簡單的數據庫遷移工具。
          • H2 - 以內存功能著稱的小型 SQL 數據庫。
          • HikariCP - 高性能 JDBC 連接池。
          • JDBI - 方便的 JDBC 抽象。
          • Jedis - 用于與 Redis 交互的小客戶端,帶有命令方法。
          • Jest - Elasticsearch REST API 的客戶端。
          • jetcd - etcd 的客戶端庫。
          • Jinq - 通過 Java 8 Lambda 的符號執行(在 JPA 或 jOOQ 之上)進行類型安全的數據庫查詢。
          • jOOQ - 基于 SQL 模式生成類型安全代碼。
          • Leaf - 分布式ID生成服務。
          • Liquibase - 獨立于數據庫的庫,用于跟蹤、管理和應用數據庫模式更改。
          • MapDB - 嵌入式數據庫引擎,提供支持在磁盤或堆外內存中的并發集合。
          • MariaDB4j - MariaDB 啟動器,無需安裝或外部依賴。
          • Modality - 具有數據庫逆向工程功能的輕量級 ORM。
          • Spring Data JPA MongoDB 表達式 - 允許您使用 MongoDB 查詢語言來查詢您的關系數據庫。
          • Trino - 大數據的分布式 SQL 查詢引擎。
          • QuestDB - 用于時間序列的高性能 SQL 數據庫。支持 InfluxDB 線路協議、PostgreSQL 線路協議和 REST。
          • QueryStream - 使用類似 Stream 的 API 構建 JPA 標準查詢。
          • Querydsl - Typesafe 統一查詢。
          • Realm - 直接在手機、平板電腦或可穿戴設備中運行的移動數據庫。
          • Redisson - 允許在 Redis 服務器之上實現分布式和可擴展的數據結構。
          • requery - 現代、輕量級但功能強大的對象映射和 SQL 生成器。輕松映射或創建數據庫,或從任何使用 Java 的平臺執行查詢和更新。
          • Speedment - 利用 Java 8 的 Stream API 進行查詢的數據庫訪問庫。
          • Vibur DBCP - 具有高級性能監控功能的 JDBC 連接池庫。
          • Xodus - 高度并發的事務性無模式和符合 ACID 的嵌入式數據庫。

          日期和時間

          處理日期和時間相關的庫

          • Almanac Converter - 不同日歷系統之間的簡單轉換。
          • iCal4j - 解析和構建 iCalendar RFC 5545 數據模型。
          • Jollyday - 確定給定年份、國家/地區和最終州/地區的假期。
          • ThreeTen-Extra - 補充 JDK 8 中的附加日期時間類。
          • Time4J - 高級日期和時間庫。 (僅限 LGPL-2.1)

          依賴注入

          有助于實現控制反轉范例的庫。

          • Apache DeltaSpike - CDI 擴展框架。
          • Dagger - 編譯時注入框架,無需反射。
          • Feather - 超輕量級,符合 JSR-330 的依賴注入庫。
          • Governator - 增強 Google Guice 的擴展和實用程序。
          • Guice - 完成 Dagger 的輕量級和自以為是的框架。
          • HK2 - 輕量級動態依賴注入框架。
          • JayWire - 輕量級依賴注入框架。 (僅限 LGPL-3.0)

          發展

          從根本上增強開發過程。

          • AspectJ - 無縫的面向方面的編程擴展。
          • DCEVM - JVM 修改允許在運行時無限制地重新定義加載的類。 (僅限 GPL-2.0)
          • Faux Pas - 通過規避 Java 運行時中默認情況下不允許任何功能接口拋出已檢查異常的問題來簡化錯誤處理的庫。
          • HotswapAgent - 無限運行時類和資源重定義。 (僅限 GPL-2.0)
          • JavaParser - 解析、修改和生成Java代碼。
          • JavaSymbolSolver - 符號求解器。
          • Manifold - 通過類型安全元編程、結構類型和擴展方法等強大功能重新激發 Java。
          • NoException - 允許在功能接口中檢查異常并將異常轉換為可選返回。
          • SneakyThrow - 在沒有字節碼操作的情況下忽略檢查異常。也可以在 Java 8 流操作中使用。
          • Tail - 使用尾調用優化啟用無限遞歸。

          分布式應用程序

          用于編寫分布式和容錯應用程序的庫和框架。

          • Apache Geode - 內存數據管理系統,提供可靠的異步事件通知和有保證的消息傳遞。
          • Apache Storm - 實時計算系統。
          • Apache ZooKeeper - 為大型分布式系統提供分布式配置、同步和命名注冊表的協調服務。
          • Atomix - 容錯分布式協調框架。
          • Axon - 創建 CQRS 應用程序的框架。
          • Dropwizard Circuit Breaker - Dropwizard 的斷路器設計模式。 (僅限 GPL-2.0)
          • Failsafe - 使用重試和斷路器進行簡單的故障處理。
          • Hazelcast - 具有免費開源版本的高度可擴展的內存數據網格。
          • JGroups - 用于可靠消息傳遞和集群創建的工具包。
          • Quasar - JVM 的輕量級線程和參與者。
          • resilience4j - 功能性容錯庫。
          • ScaleCube Services - 基于 SWIM 和 gossip 協議的可嵌入集群成員庫。
          • Zuul - 提供動態路由、監控、彈性、安全等的網關服務。

          分布式事務

          分布式事務提供了一種機制來確保在存在并發訪問和部分故障的情況下數據更新的一致性。

          • Atomikos - 為 REST、SOA 和微服務提供事務,支持 JTA 和 XA。
          • Bitronix - JTA 1.1 API 的簡單但完整的實現。
          • Narayana - 提供對傳統 ACID 和補償交易的支持,同時符合 JTA、JTS 等標準。 (僅限 LGPL-2.1)
          • Seata - 在微服務架構下提供高性能且易于使用的分布式事務服務。

          分發

          以原生格式處理應用程序分發的工具。

          • Artipie - 將它們托管在文件系統或 S3 上的二進制工件管理工具包。
          • Boxfuse - 使用不可變基礎設施的原則將 JVM 應用程序部署到 AWS。
          • Capsule - 簡單強大的打包部署。類固醇上的胖 JAR,或支持 JVM 優化容器的“Docker for Java”。
          • Central Repository - 最大的二進制組件存儲庫,作為開源社區的免費服務提供。 Apache Maven 使用的默認值,并且在所有其他構建工具中都可用。
          • Cloudsmith - 完全托管的包管理 SaaS,支持 Maven/Gradle/SBT 并提供免費套餐。
          • Getdown - 用于將 Java 應用程序部署到最終用戶計算機并使其保持最新狀態的系統。作為 Java Web Start 的替代品而開發。
          • IzPack - 為跨平臺部署設置創作工具。
          • JavaPackager - Maven 和 Gradle 插件,它提供了一種將 Java 應用程序打包到本機 Windows、Mac OS X 或 GNU/Linux 可執行文件中的簡單方法,并為它們生成安裝程序。
          • jlink.online - 通過 HTTP 構建優化的運行時。
          • Nexus - 具有代理和緩存功能的二進制管理。
          • packr - 打包 JAR、資產和 JVM,以便在 Windows、Linux 和 macOS 上進行本機分發。
          • really-executable-jars-maven-plugin - 用于制作自執行 JAR 的 Maven 插件。

          文檔處理

          協助處理辦公文檔格式的庫。

          • Apache POI - 支持 OOXML(XLSX、DOCX、PPTX)以及 OLE2(XLS、DOC 或 PPT)。
          • documents4j - 使用第三方轉換器(如 MS Word)進行文檔格式轉換的 API。
          • docx4j - 創建和操作 Microsoft Open XML 文件。
          • fastexcel - 用于讀寫大型 Excel (XLSX) 工作表的高性能庫。
          • zerocell - 基于注釋的 API,用于將 Excel 工作表

          財務

          與金融領域相關的庫。

          • Cassandre - 交易機器人框架。
          • Parity - 交易場所平臺。
          • Philadelphia - 低延遲金融信息交換。
          • Square - 與 Square API 集成。
          • Stripe - 與 Stripe API 集成。
          • ta4j - 技術分析庫。

          正式驗證

          形式化方法工具:證明助手、模型檢查、符號執行等

          • CATG - Concolic 單元測試引擎。使用正式方法自動生成單元測試。
          • Checker Framework - 可插拔類型系統。包括空值類型、物理單位、不變性類型等。 (僅 GPL-2.0 WITH Classpath-exception-2.0)
          • Daikon - 檢測可能的程序不變量并根據這些不變量生成 JML 規范。
          • Java Path Finder (JPF) - 包含模型檢查器等的 JVM 形式驗證工具。由美國國家航空航天局創建。
          • JMLOK 2.0 - 通過反饋導向的隨機測試生成檢測代碼和 JML 規范之間的不一致,并為檢測到的每個不符合項提出可能的原因。 (僅限 GPL-3.0)
          • KeyY - 形式化軟件開發工具,旨在盡可能無縫地集成面向對象軟件的設計、實現、形式化規范和形式化驗證。使用 JML 進行規范和符號執行以進行驗證。 (GPL-2.0 或更高版本)
          • OpenJML - 將 JML 規范翻譯成 SMT-LIB 格式,并將程序隱含的證明問題傳遞給后端求解器。 (僅限 GPL-2.0)

          函數式編程

          促進函數式編程的庫。

          • Cyclops - Monad 和流實用程序、理解、模式匹配、所有 JDK 集合的功能擴展、未來流、蹦床等等。
          • derive4j - Java 8 注釋處理器和框架,用于派生代數數據類型構造函數、模式匹配和態射。 (僅限 GPL-3.0)
          • Fugue - Guava 的功能擴展。
          • Functional Java - 實現了許多有助于面向組合開發的基本和高級編程抽象。
          • jOOλ - 對 Java 8 的擴展,旨在通過提供大量缺失的類型和一組豐富的順序 Stream API 添加來修復 lambda 中的空白。
          • protonpack - 流實用程序的集合。
          • StreamEx - 增強 Java 8 流。
          • Vavr - 提供持久數據類型和功能控制結構的功能組件庫。

          游戲開發

          支持游戲開發的框架。

          • FXGL - JavaFX 游戲開發框架。
          • JBox2D - 著名的 C++ 2D 物理引擎的端口。
          • jMonkeyEngine - 現代 3D 開發的游戲引擎。
          • libGDX - 全方位跨平臺、高級框架。
          • Litiengine - 基于 AWT 的輕量級 2D 游戲引擎。
          • LWJGL - 強大的框架,抽象了 OpenGL/CL/AL 等庫。
          • Mini2Dx - 初學者友好型、大師級框架,用于快速原型設計和構建 2D 游戲。

          地理空間

          用于處理地理空間數據和算法的庫。

          • Apache SIS - 用于開發地理空間應用程序的庫。
          • Geo - Java 中的 GeoHash 實用程序。
          • GeoTools - 為地理空間數據提供工具的庫。 (僅限 LGPL-2.1)
          • GraphHopper - 路由引擎。 用作 Java 庫或獨立的 Web 服務。
          • H2GIS - H2 數據庫的空間擴展。 (僅限 LGPL-3.0)
          • Jgeohash - 使用 GeoHash 算法的庫。
          • Mapsforge - 基于 OpenStreetMap 數據的地圖渲染。 (僅限 LGPL-3.0)
          • Spatial4j - 通用空間/地理空間庫。

          圖形界面

          創建現代圖形用戶界面的庫。

          • JavaFX - Swing 的繼任者。
          • Scene Builder - JavaFX 應用程序的可視化布局工具。
          • SWT - 圖形小部件工具包。

          高性能

          關于高性能計算的一切,從集合到特定庫。

          • Agrona - 高性能應用程序中常見的數據結構和實用方法。
          • Disruptor - 線程間消息庫。
          • Eclipse Collections - 受 Smalltalk 啟發的集合框架。
          • fastutil - 快速緊湊的特定類型集合。
          • HPPC - 原始集合。
          • JCTools - JDK 目前缺少并發工具。
          • Koloboke - 精心設計的 Java Collections Framework 擴展,具有原始專業化等。

          HTTP客戶端

          幫助創建 HTTP 請求和/或綁定響應的庫。

          • Apache HttpComponents - 專注于 HTTP 和相關協議的低級 Java 組件工具集。
          • 異步 Http 客戶端 - 異步 HTTP 和 WebSocket 客戶端庫。
          • Feign - 受 Retrofit、JAXRS-2.0 和 WebSocket 啟發的 HTTP 客戶端綁定器。
          • Google HTTP 客戶端 - 支持 java.net.HttpURLConnection、Apache HTTP 客戶端、Android、Google App Engine、XML 的可插入 HTTP 傳輸抽象、Gson、杰克遜和 Protobuf。
          • methanol - HTTP 客戶端擴展庫。
          • restQL-java - 從多個服務獲取信息的微服務查詢語言。
          • Retrofit - Typesafe REST 客戶端。
          • Ribbon - 在云中經過實戰測試的客戶端 IPC 庫。
          • Riptide - Spring 的 RestTemplate 的客戶端響應路由。
          • unirest-java - 簡化的、輕量級的 HTTP 客戶端庫。

          超媒體類型

          處理超媒體類型序列化的庫。

          • hate - 根據 HAL 規范構建對超媒體友好的對象。
          • JSON-LD - JSON-LD 實現。
          • Siren4J - Siren 規范庫。

          IDE

          簡化部分開發的集成開發環境。.

          • Eclipse - 建立了支持大量插件和語言的開源項目。
          • IntelliJ IDEA - 支持多種 JVM 語言,為 Android 開發提供了不錯的選擇。 商業版面向企業部門。
          • jGRASP - 旨在提供與調試器結合使用的軟件可視化,例如控制結構圖、UML 類圖和對象查看器。
          • NetBeans - 提供從數據庫訪問到 HTML5 的多個 Java SE 和 EE 功能的集成。
          • Recaf - 字節碼編輯器。
          • Visual Studio Code - 通過使用來自內部市場的擴展,通過簡單、現代的工作流程為輕量級項目提供 Java 支持。

          圖像

          幫助創建、評估或操作圖形圖像的庫。

          • Imgscalr - 在純 Java 2D 中實現的簡單、高效和硬件加速的圖像縮放庫。
          • Tess4J - Tesseract OCR API 的 JNA 包裝器。
          • Thumbnailator - 高質量的縮略圖生成庫。
          • TwelveMonkeys - 擴展支持的圖像文件格式數量的插件集合。
          • ZXing - 多格式一維/二維條碼圖像處理庫。
          • image-comparison - 比較兩個相同大小的圖像并通過繪制矩形直觀地顯示差異的庫。 圖像的某些部分可以從比較中排除。 可用于自動化 QA 測試。

          內省

          有助于使 Java 內省和反射 API 更容易和更快地使用的庫。

          • ClassGraph - ClassGraph(以前稱為 FastClasspathScanner)是一個超快速、超輕量級、并行化的類路徑掃描器和模塊掃描器,適用于 Java、Scala、Kotlin 和其他 JVM 語言。
          • jOOR - jOOR 代表 jOOR 面向對象反射。它是 java.lang.reflect 包的簡單包裝器。
          • Mirror - 創建鏡像是為了解決一個簡單的問題,通常命名為 ReflectionUtil,幾乎所有依賴反射來完成高級任務的項目都有它.
          • Objenesis - 允許在沒有默認構造函數的情況下動態實例化,例如具有必需參數、副作用或拋出異常的構造函數。
          • ReflectASM - ReflectASM 是一個非常小的 Java 庫,它通過使用代碼生成來提供高性能反射。
          • Reflections - Reflections 掃描你的類路徑,索引元數據,允許你在運行時查詢它,并且可以保存和收集項目中許多模塊的信息。

          作業調度

          用于調度后臺作業的庫。

          • JobRunr - 利用 lambdas 進行即發即棄、延遲和重復作業的作業調度庫。使用樂觀鎖定保證單個調度程序實例的執行。具有持久性、最小依賴性和可嵌入的特性。
          • Quartz - 功能豐富的開源作業調度庫,幾乎可以集成到任何 Java 應用程序中。
          • Sundial - 輕量級框架,用于簡單地定義作業、定義觸發器和啟動調度程序。
          • Wisp - 具有最小占用空間和簡單 API 的簡單庫。
          • db-scheduler - 持久和集群友好的調度程序。
          • easy-batch - 使用簡單的處理管道設置批處理作業。記錄從數據源按順序讀取,在管道中處理并批量寫入數據接收器。
          • shedlock - 確保您的計劃任務最多同時執行一次。如果一個任務正在一個節點上執行,它會獲取一個鎖,以防止從另一個節點或線程執行相同的任務。

          JSON

          用于從 Java 對象序列化和反序列化 JSON 的庫。

          • DSL-JSON - 具有高級編譯時數據綁定的 JSON 庫。
          • Genson - 強大易用的 Java 到 JSON 轉換庫。
          • Gson - 將對象序列化為 JSON,反之亦然。即時使用的良好性能。
          • HikariJSON - 高性能 JSON 解析器,比 Jackson 快 2 倍。
          • jackson-modules-java8 - 適用于 Java 8 數據類型和功能的 Jackson 模塊集。
          • Jackson-datatype-money - 開源 Jackson 模塊,支持 JavaMoney 數據類型的 JSON 序列化和反序列化。
          • Jackson - 類似于 GSON,但如果您需要更頻繁地實例化庫,可以提供性能提升。
          • JSON-io - 將 Java 轉換為 JSON。將 JSON 轉換為 Java。漂亮的打印 JSON。 Java JSON 序列化程序。
          • jsoniter - 快速靈活的庫,帶有迭代器和惰性解析 API。
          • LoganSquare - 基于 Jackson 的流 API 的 JSON 解析和序列化庫。優于 GSON 和 Jackson 的庫。
          • Moshi - 現代 JSON 庫,較少固執己見,并使用 List 和 Map 等內置類型。
          • Yasson - 類和 JSON 文檔之間的綁定層,類似于 JAXB。
          • fastjson - 非常快的處理器,沒有額外的依賴和完整的數據綁定。
          • Jolt - JSON 到 JSON 的轉換工具。
          • JsonPath - 使用類似 XPATH 的語法從 JSON 中提取數據。
          • JsonSurfer - 專用于處理大而復雜的 JSON 數據的流式 JsonPath 處理器。

          JVM和JDK

          JVM/JDK 的當前實現。

          • 采用 Open JDK - 社區驅動的 OpenJDK 構建,包括 HotSpot 和 OpenJ9。
          • Avian - 具有 JIT、AOT 模式和 iOS 端口的 JVM。
          • Corretto - 亞馬遜免費、多平臺、生產就緒的 OpenJDK 分發。 (僅 GPL-2.0 WITH Classpath-exception-2.0)
          • Dragonwell8 - 針對在線電子商務、金融、物流應用優化的OpenJDK下游版本。
          • Graal - 多語言嵌入式 JVM。 (僅 GPL-2.0 WITH Classpath-exception-2.0)
          • Liberica JDK - 由 OpenJDK 構建,經過全面測試并通過了 JCK。 (僅 GPL-2.0 WITH Classpath-exception-2.0)
          • OpenJ9 - 高性能、企業級、靈活許可、開放管理的跨平臺 JVM,擴展和增強了來自 Eclipse OMR 和 OpenJDK 項目的運行時技術組件。
          • Open JDK - Open JDK 社區主頁。 (僅 GPL-2.0 WITH Classpath-exception-2.0)
          • ParparVM - 適用于 iOS 的具有非阻塞并發 GC 的 VM。 (僅 GPL-2.0 WITH Classpath-exception-2.0)
          • RedHat Open JDK - RedHat 的 OpenJDK 發行版。 (僅 GPL-2.0 WITH Classpath-exception-2.0)
          • SAP Machine - SAP 的免費、經過嚴格測試和 JCK 驗證的 OpenJDK 友好分支。 (僅 GPL-2.0 WITH Classpath-exception-2.0)
          • Zulu - OpenJDK 為 Windows、Linux 和 macOS 構建。 (僅 GPL-2.0 WITH Classpath-exception-2.0)

          日志

          記錄應用程序行為的庫。

          • Apache Log4j 2 - 使用強大的插件和配置架構完成重寫。
          • Echopraxia - 圍繞結構化日志、豐富上下文和條件日志設計的 API。有 Logback 和 Log4J2 實現,但 Echopraxia 的 API 是完全無依賴的,這意味著它可以使用任何日志 API 來實現。
          • Graylog - 適用于擴展角色和權限管理的開源聚合器。 (僅限 GPL-3.0)
          • Kibana - 分析和可視化日志文件。有些功能需要付費。
          • Logback - 強大的日志庫,通過 Groovy 提供有趣的配置選項。
          • 日志 - 用于 HTTP 請求和響應日志記錄的可擴展開源庫。
          • Logstash - 管理日志文件的工具。
          • p6spy - 無需更改代碼即可為所有 JDBC 事務啟用日志記錄。
          • SLF4J - 抽象層/簡單的日志記錄外觀。
          • tinylog - 帶有靜態記錄器類的輕量級記錄框架。
          • OpenTracing Toolbox - 建立在 OpenTracing 之上并為現有儀器提供擴展和插件的庫的集合。

          機器學習

          提供特定統計算法以從數據中學習的工具。

          • Apache Flink - 快速、可靠、大規模的數據處理引擎。
          • Apache Mahout - 專注于協同過濾、聚類和分類的可擴展算法。
          • DatumBox - 為自然語言處理提供多種算法和預訓練模型。
          • Deeplearning4j - 分布式和多線程深度學習庫。
          • DJL - 用于深度學習的高級且與引擎無關的框架。
          • H2O - 大數據統計分析引擎。
          • JSAT - 用于預處理、分類、回歸和聚類的算法,支持多線程執行。 (僅限 GPL-3.0)
          • m2cgen - 將模型轉換為本機代碼的 CLI 工具。
          • oj! Algorithms - 數據科學、機器學習和科學計算所需的高性能數學、線性代數和優化。
          • Oryx 2 - 用于構建實時、大規模機器學習應用程序的框架。包括用于協同過濾、分類、回歸和聚類的端到端應用程序。
          • Siddhi - 云原生流和復雜事件處理引擎。
          • Smile - 統計機器智能與學習引擎提供了一套機器學習算法和可視化庫。
          • Tribuo - 提供用于分類、回歸、聚類、模型開發的工具以及與其他庫(如 scikit-learn、pytorch 和 TensorFlow)的接口。
          • Weka - 從預處理到可視化的數據挖掘任務的算法集合。 (僅限 GPL-3.0)

          消息

          幫助在客戶端之間發送消息以確保協議獨立性的工具。

          • Aeron - 高效、可靠、單播和多播消息傳輸。
          • Apache ActiveMQ - 實現 JMS 并將同步通信轉換為異步通信的消息代理。
          • Apache Camel - 通過企業集成模式將不同的傳輸 API 粘合在一起。
          • Apache Kafka - 高吞吐量分布式消息系統。
          • Apache Pulsar - 分布式發布/訂閱消息系統。
          • Apache RocketMQ - 快速、可靠、可擴展的分布式消息傳遞平臺。
          • Apache Qpid - Apache Qpid 制作的消息傳遞工具支持 AMQP 并支持多種語言和平臺。
          • EventBus - 簡單的發布/訂閱事件總線。
          • Hermes - 建立在 Kafka 之上的快速可靠的消息代理。
          • JeroMQ - ZeroMQ 的實現。
          • Nakadi - 在 Kafka 之上提供 RESTful API。
          • RabbitMQ Java 客戶端 - RabbitMQ 客戶端。
          • Smack - 跨平臺 XMPP 客戶端庫。
          • NATS 客戶端 - NATS 客戶端。

          微服務

          ActiveRPC - 用于復雜高負載分布式應用程序和類似 Memcached 解決方案的輕量級和快速庫。

          • Apollo - 用于編寫可組合微服務的庫。
          • Armeria - 基于 Java 8、Netty、HTTP/2、Thrift 和 gRPC 構建的異步 RPC/REST 客戶端/服務器庫。
          • consul-api - Consul API 的客戶端:分布式、高可用性和數據中心感知的注冊/發現服務。
          • Eureka - 基于 REST 的服務注冊表,用于彈性負載平衡和故障轉移。
          • Helidon - 兩種編寫微服務的方法:功能響應式和作為 MicroProfile 的實現。
          • Micronaut - 現代全棧框架,專注于模塊化、最小內存占用和啟動時間。
          • Nacos - 構建云原生應用的動態服務發現、配置和服務管理平臺。
          • Quarkus - 為 HotSpot 和 Graal VM 量身定制的 Kubernetes 堆棧。
          • Sentinel - 支持微服務的可靠性、彈性和監控的流控制組件。

          雜項

          其他一切。

          • CQEngine - Java 集合上的超快速、類似 SQL 的查詢。
          • 設計模式 - 最常見的設計模式的實現和解釋。
          • FF4J - Java 的功能標志。
          • FizzBuzz 企業版 - 嚴肅的商人為嚴肅的商業目的制作的 FizzBu??zz 的嚴肅實現。 (無明確許可)
          • J2ObjC - Java-to-Objective-C 轉換器,用于將 Android 庫移植到 iOS。
          • JBake - 靜態網站生成器。
          • JBot - 構建聊天機器人的框架。 (僅限 GPL-3.0)
          • JCuda - JCuda 為 CUDA 和 CUDA 相關庫提供 Java 綁定。
          • Jimfs - 內存文件系統。
          • JObfuscator - 源代碼混淆器。
          • Joda-Money - JDK 未提供的基本貨幣和貨幣類別和算法。
          • JPad - 片段運行器。
          • jsweet - TypeScript/JavaScript 的源代碼轉換器。
          • Maven Wrapper - Maven 的 Gradle Wrapper 的類似物,允許在不安裝 maven 的情況下構建項目。
          • 膜服務代理 - 開源、反向代理框架。
          • MinimalFTP - 輕量級、小型和可定制的 FTP 服務器。
          • 現代 Java - Java 8 指南 - 流行的 Java 8 指南。
          • Modernizer - 檢測遺留 Java API 的使用。
          • OctoLinker - 允許更有效地瀏覽 GitHub 上的代碼的瀏覽器擴展。
          • OpenRefine - 處理雜亂數據的工具:清理、轉換、使用 Web 服務擴展數據并將其鏈接到數據庫。
          • PipelinR - 用于在管道中使用處理程序和命令的小型實用程序庫。
          • Polyglot for Maven - Maven 3.3.1+ 的擴展,允許用 XML 以外的方言編寫 POM 模型。
          • RR4J - RR4J 是一個記錄java字節碼執行的工具,以后允許開發者在本地回放。
          • 簡單 Java 郵件 - 使用干凈流暢的 API 發送郵件。
          • Smooks - 基于片段的消息處理框架。 (Apache-2.0 或 LGPL-3.0 或更高版本)
          • Togglz - 功能切換模式的實現。
          • TypeTools - 解析泛型類型的工具。
          • XMLBeam - 通過在代碼中使用注釋或 XPath 處理 XML。
          • yGuard - 通過重命名和收縮進行混淆。

          移動開發

          用于創建或管理移動應用程序的工具。

          • Codename One - 編寫原生移動應用的跨平臺解決方案。 (僅 GPL-2.0 WITH Classpath-exception-2.0)
          • MobileUI - 跨平臺框架,用于在 Java 和 Kotlin 中使用本機 UI 開發移動應用程序。
          • Multi-OS Engine - 用于開發原生移動(iOS、Android 等)應用程序的開源、跨平臺引擎。

          監控

          監控生產中應用程序的工具。

          • Automon - 將 AOP 的強大功能與監控和/或日志工具相結合。
          • Failsafe Actuator - Spring-Boot 環境中故障安全斷路器的開箱即用監控。
          • Glowroot - 開源 Java APM。
          • inspectIT - 通過可以動態更改的掛鉤捕獲詳細的運行時信息。它支持通過 OpenTracing API 對多個系統進行跟蹤,并且可以將數據與最終用戶監控相關聯。
          • Instrumental - 實時 Java 應用程序性能監控。具有免費開發帳戶的商業服務。
          • JavaMelody - 性能監控和分析。
          • Jaeger 客戶端 - Jaeger 客戶端。
          • jmxtrans - 連接到多個 JVM 并通過 JMX 查詢它們的屬性。它的查詢語言基于 JSON,它允許非 Java 程序員訪問 JVM 屬性。支持不同的輸出寫入,包括 Graphite、Ganglia 和 StatsD。
          • Jolokia - 基于 REST 的 JMX。
          • Metrics - 通過 JMX 或 HTTP 公開指標并將它們發送到數據庫。
          • Datadog - 現代監控和分析。
          • nudge4j - 通過字節碼注入從 Java 8 瀏覽器遠程開發者控制臺。
          • Pinpoint - 開源 APM 工具。
          • Prometheus - 提供多維數據模型、DSL、自治服務器節點等等。
          • Sentry - 與 Sentry 集成,應用程序錯誤跟蹤和性能分析平臺。
          • SPM - 為 JVM 應用程序分配事務跟蹤的性能監視器。
          • Stagemonitor - JVM 應用程序的開源性能監控和事務跟蹤。
          • Sysmon - Java VM 的輕量級平臺監控工具。
          • zipkin - 分布式跟蹤系統,它收集解決微服務架構中的延遲問題所需的時間數據。

          原生

          用于使用特定于平臺的本機庫。

          • Aparapi - 將字節碼轉換為允許在 GPU 上執行的 OpenCL。
          • JavaCPP - 提供對本機 C++ 的高效和輕松訪問。
          • JNA - 無需編寫 JNI 即可使用本機庫。 還提供通用系統庫的接口。
          • JNR - 無需編寫 JNI 即可使用本機庫。 還提供通用系統庫的接口。 與 JNA 相同的目標,但速度更快,并作為即將到來的 [Project Panama] (http://openjdk.java.net/projects/panama) 的基礎。

          自然語言處理

          專門處理文本的庫。

          • CogCompNLP - 為純文本輸入提供通用注釋器。 (研究和學術使用許可證)
          • CoreNLP - 為標記、命名實體識別和情感分析等任務提供一組基本工具。 (GPL-3.0 或更高版本)
          • DKPro - 用于語言預處理、機器學習、詞匯資源等的可重用 NLP 工具集合。
          • LingPipe - 用于從 POS 標記到情緒分析的任務的工具包。

          網絡

          用于構建網絡服務器的庫。

          • Commons-networking - 服務器發送事件的客戶端 (SSE)。
          • Comsat - 將標準 Java Web 相關 API 與 Quasar 光纖和 Actor 集成。
          • Dubbo - 高性能RPC框架。
          • Grizzly - NIO 框架。在 Glassfish 中用作網絡層。
          • gRPC - 基于 protobuf 和 HTTP/2 的 RPC 框架。
          • KryoNet - 為使用 NIO 和 Kryo 的高效 TCP 和 UDP 客戶端/服務器網絡通信提供干凈簡單的 API。
          • MINA - 抽象的、事件驅動的異步 I/O API,用于通過 Java NIO 通過 TCP/IP 和 UDP/IP 進行網絡操作。
          • Netty - 構建高性能網絡應用程序的框架。
          • Drift - 易于使用、基于注釋的庫,用于創建 Thrift 客戶端和可序列化類型。
          • ServiceTalk - 基于 Netty 構建的框架,具有針對特定協議量身定制的 API,并支持多種編程范式。
          • sshj - 以編程方式使用 SSH、SCP 或 SFTP。
          • TLS 通道 - 通過 SSLEngine 實現 ByteChannel 接口,實現易于使用(類似套接字)的 TLS。
          • Undertow - 基于 NIO 提供阻塞和非阻塞 API 的 Web 服務器。在 WildFly 中用作網絡層。 (僅限 LGPL-2.1)
          • urnlib - 表示、解析和編碼 URN,如 RFC 2141 中所述。(僅限 GPL-3.0)

          ORM

          處理對象持久性的API。

          • Apache Cayenne - 為數據訪問提供干凈、靜態的 API。還包括一個用于處理數據庫映射以及數據庫逆向工程和生成的 GUI 建模器。
          • Doma - 數據庫訪問框架,在編譯時使用注釋處理以及稱為雙向 SQL 的本機 SQL 模板驗證和生成源代碼。
          • Ebean - 提供簡單快速的數據訪問。
          • EclipseLink - 支持多種持久性標準:JPA、JAXB、JCA 和 SDO。
          • Hibernate - 強大且廣泛使用,擁有活躍的社區。 (僅限 LGPL-2.1)
          • MyBatis - 將對象與存儲過程或 SQL 語句耦合。
          • ObjectiveSql - 用于快速開發和約定優于配置的 ActiveRecord ORM。
          • Permazen - 語言自然持久層。
          • SimpleFlatMapper - 簡單的數據庫和 CSV 映射器。

          PaaS

          Java 平臺即服務。

          • AWS Elastic Beanstalk - 基于 AWS,支持 Tomcat 和 Jetty。
          • AWS Lambda - 無服務器計算。
          • Google Cloud - Google 的云基礎架構。
          • Heroku - 抽象計算環境。
          • Microsoft Azure - Microsoft 的云基礎架構。
          • OpenShift - 額外提供本地解決方案。

          PDF

          幫助處理 PDF 文件的工具。

          • Apache FOP - 從 XSL-FO 創建 PDF。
          • Apache PDFBox - 用于創建和操作 PDF 的工具箱。
          • Dynamic Jasper - JasperReports 的抽象層。 (僅限 LGPL-3.0)
          • DynamicReports - 簡化 JasperReports。 (僅限 LGPL-3.0)
          • Eclipse BIRT - 使用基于 Eclipse 的可視化編輯器創建 PDF 和其他格式(DOCX、XLSX、HTML 等)的報告引擎。
          • flyingsaucer - XML/XHTML 和 CSS 2.1 渲染器。 (LGPL-2.1 或更高版本)
          • iText - 以編程方式創建 PDF 文件。
          • JasperReports - 復雜的報告引擎。 (僅限 LGPL-3.0)
          • Open HTML to PDF - 正確支持基于flyingsaucer和Apache PDFBox的現代PDF標準。
          • OpenPDF - 開源 iText 分支。 (僅限 LGPL-3.0 和 MPL-2.0)
          • Tabula - 從 PDF 文件中提取表格。

          性能分析

          用于性能分析、分析和基準測試的工具。

          • fastThread - 使用基于云的免費上傳界面分析和可視化線程轉儲。
          • GCeasy - 分析和可視化 GC 日志的工具。 它提供了一個免費的基于云的上傳界面。
          • honest-profiler - 低開銷、無偏差的采樣分析器。
          • jHiccup - 日志和記錄平臺 JVM 停止。
          • JITWatch - 分析 HotSpot JVM 對 JIT 編譯器的優化。
          • JMH - 用于構建、運行和分析以 Java 和其他針對 JVM 的語言編寫的 nano/micro/milli/macro 基準測試的工具 . (僅 GPL-2.0 與 Classpath-exception-2.0)
          • LatencyUtils - 用于延遲測量和報告的實用程序。

          平臺

          包含多個類別的多個庫套件的框架。

          Apache Commons

          • BCEL - 字節碼工程庫 - 分析、創建和操作 Java 類文件。
          • BeanUtils - 易于使用的圍繞 Java 反射和自省 API 的包裝器。
          • BeanUtils2 - 重新設計 Commons BeanUtils。
          • BSF - Bean Scripting Framework - 腳本語言接口,包括 JSR-223。
          • Chain - 責任鏈模式實現。
          • ClassScan - 無需加載即可查找類接口、方法、字段和注釋。
          • CLI - 命令行參數解析器。
          • CLI2 - 重新設計 Commons CLI。
          • Codec - 通用編碼/解碼算法,例如拼音、base64 或 URL。
          • Collections - 擴展或增強 Java 集合框架。
          • Compress - 定義用于處理 tar、zip 和 bzip2 文件的 API。
          • Configuration - 讀取各種格式的配置/首選項文件。
          • Convert - Commons-Convert 旨在提供一個單獨的庫,專門用于將一種類型的對象轉換為另一種類型的任務。
          • CSV - 用于讀取和寫入逗號分隔值文件的組件。
          • Daemon - 類似 unix-daemon 的 java 代碼的替代調用機制。
          • DBCP - 數據庫連接池服務。
          • DbUtils - JDBC 幫助程序庫。
          • Digester - XML-to-Java-object 映射實用程序。
          • Email - 用于從 Java 發送電子郵件的庫。
          • Exec - 在 Java 中處理外部進程執行和環境管理的 API。
          • FileUpload - servlet 和 Web 應用程序的文件上傳功能。
          • Finder - 受 UNIX find 命令啟發的 Java 庫。
          • Flatfile - 用于處理平面數據結構的 Java 庫。
          • Functor - 可以作為對象操作的函數,或表示單個通用函數的對象。
          • Graph - 通用圖形 API 和算法。
          • I18n - 添加由一個或多個本地化文本組成的本地化消息包的功能。
          • Id - Id 是用于生成標識符的組件。
          • Imaging - 圖像庫。
          • IO - I/O 實用程序的集合。
          • Javaflow - 繼續執行以捕獲應用程序的狀態。
          • JCI - Java 編譯器接口。
          • JCS - Java 緩存系統。
          • Jelly - 基于 XML 的腳本和處理引擎。
          • Jexl - 擴展 JSTL 表達式語言的表達式語言。
          • JNet - JNet 允許通過 java.net API 使用動態注冊 url 流處理程序。
          • JXPath - 使用 XPath 語法操作 Java Bean 的實用程序。
          • Lang - 為 java.lang 中的類提供額外的功能。
          • Logging - 包裝各種日志 API 實現。
          • Math - 輕量級、獨立的數學和統計組件。
          • Monitoring - Monitoring旨在為Java應用程序提供一個簡單但可擴展的監控解決方案。
          • Nabla - Nabla 提供自動微分類,可以生成任何函數實現的派生

          Other

          • CUBA 平臺 - 用于開發具有豐富 Web 界面的企業應用程序的高級框架,基于 Spring、EclipseLink 和 Vaadin。
          • Light-4J - 內置安全 的快速、輕量級和高效的微服務框架 oauth2/)。
          • Orienteer - 用于快速配置/開發CRM、ERP、LMS等應用的開源業務應用平臺。
          • Spring - 為依賴注入、面向方面編程、安全等提供了許多包。

          進程

          幫助管理操作系統進程的庫。

          • ch.vorburger.exec - 圍繞 Apache Commons Exec 的便捷 API。
          • zt-exec - 為 Apache Commons Exec 和 ProcessBuilder 提供統一的 API。
          • zt-process-killer - 停止從 Java 啟動的進程或通過 PID 的系統進程。

          反應式庫

          用于開發反應式應用程序的庫。

          • Akka - 用于構建并發、分布式、容錯和事件驅動應用程序的工具包和運行時。
          • Reactive Streams - 提供非阻塞背壓的異步流處理標準。
          • Reactor - 用于構建反應式快速數據應用程序的庫。
          • RxJava - 允許使用可觀察序列編寫異步和基于事件的程序。
          • vert.x - 多語言事件驅動的應用程序框架。

          REST框架

          專門用于創建 RESTful 服務的框架。

          • Dropwizard - 使用 Jetty、Jackson、Jersey 和 Metrics 設置現代 Web 應用程序的自以為是的框架。
          • Elide - 基于 JPA 數據模型的 JSON 或 GraphQL-API 的自以為是的框架。
          • Jersey - JAX-RS 參考實現。
          • Microserver - 方便、可擴展的 Spring & Spring Boot 微服務插件系統。擁有 30 多個插件并且還在不斷增長,它同時支持微單體和純微服務風格。
          • Rapidoid - 簡單、安全且極速的框架,由嵌入式 HTTP 服務器、GUI 組件和依賴注入組成。
          • rest.li - 使用類型安全綁定和異步、非阻塞 IO 和端到端開發人員工作流構建健壯、可擴展的 RESTful 架構的框架提倡干凈的做法、統一的界面設計和一致的數據建模。
          • RESTEasy - JAX-RS 規范的完全認證和可移植的實現。
          • RestExpress - JBoss Netty HTTP 堆棧上的瘦包裝器,可提供擴展性和性能。
          • Restlet Framework - 具有強大路由和過濾能力的開創性框架,以及統一的客戶端和服務器API。
          • Spark - 受 Sinatra 啟發的框架。
          • Crnk - 實現 JSON API 規范以構建面向資源的 REST 端點,包括排序、過濾、分頁、鏈接、對象圖、類型安全、批量更新、集成和更多的。
          • springdoc-openapi - 使用 Spring Boot 項目自動生成 API 文檔。
          • Swagger - 標準的、與語言無關的 REST API 接口。

          科學

          用于科學計算、分析和可視化的庫。

          • BioJava - 通過提供生物信息學中常用的算法、文件格式解析器、排序和 3D 可視化來促進處理生物數據。
          • Chart-FX - 科學圖表庫,專注于大型數據集以 25 Hz 更新率進行性能優化的實時數據可視化。
          • DataMelt - 用于科學計算、數據分析和數據可視化的環境。 (GPL-3.0 或更高版本)
          • Erdos - 用于理論算法的模塊化、輕量級和簡單的圖形框架。
          • GraphStream - 用于建模和分析動態圖的庫。
          • JFreeChart - 用于 Swing、JavaFX 和服務器端應用程序的 2D 圖表庫。 (僅限 LGPL-2.1)
          • JGraphT - 提供數學圖論對象和算法的圖庫。
          • JGraphX - 用于可視化(主要是 Swing)和與節點邊圖交互的庫。
          • LogicNG - 用于創建、操作和求解布爾和偽布爾公式的庫。
          • Mines Java Toolkit - 用于地球物理科學計算、可視化和數字信號分析的庫。
          • Morpheus - 提供一種通用的二維內存高效表格數據結構,稱為 DataFrame,以實現在 JVM 上進行科學計算的高效內存分析。
          • Orson-Charts - 生成各種各樣的 3D 圖表,可以使用 Swing 和 JavaFX 顯示或導出為 PDF、SVG、PNG 和 JPEG。 (僅限 GPL-3.0)
          • Tablesaw - 包括一個數據框、一個嵌入式列存儲以及數百種轉換、匯總或過濾數據的方法。
          • XChart - 用于繪制數據的輕量級庫。許多可定制的圖表類型可用。

          搜索

          為搜索和分析索引文檔的引擎。

          • Apache Lucene - 高性能、全功能、跨平臺的文本搜索引擎庫。
          • Apache Solr - 為大流量優化的企業搜索引擎。
          • Elasticsearch - 具有 RESTful Web 界面和無模式 JSON 文檔的分布式、多租戶、全文搜索引擎。
          • Indexer4j - 簡單輕量的全文索引和搜索庫。

          安全

          處理安全、身份驗證、授權或會話管理的庫。

          • Apache Shiro - 執行身份驗證、授權、加密和會話管理。
          • Bouncy Castle - 通用加密庫和 JCA 提供程序,提供廣泛的功能,從基本助手到 PGP/SMIME 操作。
          • Cryptomator - 云中文件的多平臺、透明、客戶端加密。 (僅限 GPL-3.0)
          • Hdiv - 運行時應用程序可抵御 OWASP Top 10 中包含的應用程序安全風險,包括 SQL 注入、跨站點腳本、跨站點請求偽造、數據篡改、和蠻力攻擊。
          • jjwt - Java 和 Android 的 JSON Web 令牌。
          • jwt-java - 使用流暢的 API 輕松創建和解析 JSON Web 令牌并創建自定義的 JWT 驗證器。
          • Jwks RSA - JSON Web 密鑰集解析器。
          • Kalium - 網絡和密碼學 (NaCl) 庫的綁定。
          • Keycloak - 為瀏覽器應用程序和 RESTful Web 服務集成了 SSO 和 IDM。
          • Keywhiz - 用于分發和管理秘密的系統。
          • Nbvcxz - 高級密碼強度估計。
          • OACC - 提供基于權限的授權服務。
          • OTP-Java - 符合 RFC 4226 (HOTP) 和 RFC 6238 (TOTP) 的一次性密碼生成器庫。
          • pac4j - 安全引擎。
          • Password4j - 用戶友好的密碼庫,支持 Argon2、Bcrypt、Scrypt、PBKDF2 和各種其他密碼哈希函數。
          • SecurityBuilder - 適用于 JCA 和 JSSE 類,尤其是 X.509 證書的 Fluent Builder API。
          • SSLContext-Kickstart - 用于使用 SSL/TLS 配置 HTTP 客戶端的高級 SSL 上下文構建器。
          • Themis - 多平臺高級加密庫提供易于使用的加密來保護敏感數據:具有前向保密的安全消息傳遞、安全數據存儲 (AES256GCM) ;適合構建端到端加密應用程序。
          • Tink - 為常見的加密任務提供簡單且防誤用的 API。

          序列化

          高效處理序列化的庫。

          • FlatBuffers - 節省內存的序列化庫,無需解包和解析即可訪問序列化數據。
          • FST - JDK 兼容的高性能對象圖序列化。
          • Kryo - 快速高效的對象圖序列化框架。
          • MessagePack - 高效的二進制序列化格式。
          • PHP 序列化器 - 以 PHP 序列化格式序列化對象。

          服務器

          專門用于部署應用程序的服務器。

          • Apache Tomcat - 用于 Servlet 和 JSP 的強大、全面的服務器。
          • Apache TomEE - Tomcat 加 Java EE。
          • Jetty - 提供 Web 服務器和 javax.servlet 容器,以及對 HTTP/2、WebSocket、OSGi、JMX、JNDI、JAAS 和許多其他集成的支持。
          • nanohttpd - 小巧、易于嵌入的 HTTP 服務器。
          • WildFly - 以前稱為 JBoss,由 Red Hat 開發,具有廣泛的 Java EE 支持。 (僅限 LGPL-2.1)

          模板引擎

          在模板中替換表達式的工具。

          • Freemarker - 基于模板和變化數據生成文本輸出(HTML 網頁、電子郵件、配置文件、源代碼等)的庫。
          • Handlebars.java - 無邏輯和語義的 Mustache 模板。
          • Jade4J - Pug(原名 Jade)的實現。
          • Jamal - 嵌入到 Maven/JavaDoc 中的可擴展模板引擎,支持多個擴展(Groovy、Ruby、JavaScript、JShell、PlantUml)并支持片段處理。
          • jte - 編譯為類,并使用簡單的語法,多種功能使開發更容易,并提供快速執行和占用空間小。
          • Jtwig - 模塊化、可配置且經過全面測試的模板引擎。
          • Pebble - 受到 Twig 的啟發,并以其繼承特性和易于閱讀的語法將自己分開。它帶有內置的自動轉義以確保安全,并且包括對國際化的集成支持。
          • Rocker - 優化、內存高效和快速的模板引擎,生成靜態類型的普通對象。
          • StringTemplate - 用于生成源代碼、網頁、電子郵件或任何其他格式化文本輸出的模板引擎。
          • Thymeleaf - 旨在成為 JSP 的替代品并適用于 XML 文件。

          測試

          從模型到視圖的測試工具。

          異步

          簡化測試異步服務的工具。

          • Awaitility - 用于同步異步操作的 DSL。
          • ConcurrentUnit - 用于測試多線程和異步應用程序的工具包。
          • GreenMail - 用于集成測試的內存電子郵件服務器。 支持 SMTP、POP3 和 IMAP,包括 SSL。 (僅限 GPL-2.0)
          • Hoverfly Java - Hoverfly 的本機綁定,一個允許您模擬 HTTP 服務的代理。
          • Karate - 結合 API 測試自動化、模擬和性能測試的 DSL,使測試 REST/HTTP 服務變得容易。
          • REST Assured - 用于輕松測試 REST/HTTP 服務的 DSL。

          BDD

          測試源自 TDD 并深受 DDD 和 OOAD 影響的軟件開發過程。

          • Cucumber - 提供一種以客戶可以理解的簡單語言描述功能的方法。
          • Cukes-REST - 使用 Cucumber 進行 REST 服務測試的 Gherkin 步驟集合。
          • J8Spec - 遵循類似 Jasmine 的語法。
          • JBehave - 描述故事的可廣泛配置的框架。
          • JGiven - 提供流暢的 API,允許更簡單的組合。
          • Lamdba Behave - 旨在提供一個流暢的 API 來用讀起來像普通英語的長且描述性的句子編寫測試。
          • Serenity BDD - 與 Cucumber、JBehave 和 JUnit 一起使用的自動化驗收測試和報告庫,可以更輕松地編寫高質量的可執行規范。

          Fixtures

          與隨機數據的創建和處理有關的一切。

          • Beanmother - 從 YAML 裝置設置 bean。
          • Fixture Factory - 從模板生成假對象。
          • jFairy - 假數據生成器。
          • Randomized Testing - 用于運行偽隨機 JUnit 測試的 JUnit 測試運行器和插件。
          • Java Faker - Ruby 的假數據生成器的端口。

          框架

          為特定用例提供運行測試的環境。

          • ArchUnit - 用于指定和斷言架構規則的測試庫。
          • Apache JMeter - 功能測試和性能測量。
          • Arquillian - Java EE 容器的集成和功能測試平臺。
          • Citrus - 專注于客戶端和服務器端消息傳遞的集成測試框架。
          • Gatling - 為易于使用、可維護性和高性能而設計的負載測試工具。
          • JUnit - 通用測試框架。
          • jqwik - 基于 JUnit 5 構建的基于屬性的測試引擎。
          • Pact JVM - 消費者驅動的合約測試。
          • PIT - 用于評估現有 JUnit 或 TestNG 測試套件的故障檢測能力的快速突變測試框架。

          匹配器

          提供自定義匹配器的庫。

          • AssertJ - 提高可讀性的流暢斷言。
          • Hamcrest - 可以組合以創建靈活的意圖表達的匹配器。
          • JSONAssert - 簡化 JSON 字符串的測試。
          • Truth - 谷歌流暢的斷言和命題框架。
          • XMLUnit - 簡化了 XML 輸出的測試。

          大雜燴

          其他與測試有關的東西。

          • ConsoleCaptor - 為單元測試目的捕獲控制臺輸出。
          • junit-dataprovider - JUnit 的類似 TestNG 的數據提供者/運行器。
          • LogCaptor - 捕獲日志條目以進行單元測試。
          • Mutability Detector - 報告給定類的實例是否不可變。
          • raml-tester - 測試請求/響應是否匹配給定的 RAML 定義。
          • TestContainers - 提供通用數據庫、Selenium Web 瀏覽器或任何其他可以在 Docker 容器中運行的一次性實例。
          • pojo-tester - 自動執行基本 POJO 方法的測試。 (僅限 LGPL-3.0)

          模擬

          模擬合作者以幫助測試單個、隔離單元的工具。

          • JMockit - 集成測試、API 模擬和偽造以及代碼覆蓋。
          • Mockito - 模擬框架,可讓您使用干凈簡單的 API 編寫測試。
          • MockServer - 允許模擬與 HTTPS 集成的系統。
          • Moco - 用于存根和模擬的簡潔 Web 服務。
          • PowerMock - 模擬靜態方法、構造函數、最終類和方法、私有方法以及靜態初始化器的刪除。
          • WireMock - 存根和模擬 Web 服務。

          實用程序

          提供通用實用功能的庫。

          • Arthas - 無需修改代碼或重新啟動服務器即可解決應用程序的生產問題。
          • bucket4j - 基于令牌桶算法的速率限制庫。
          • cactoos - 面向對象原語的集合。
          • CRaSH - 為運行 CRaSH 的 JVM 提供一個 shell。由 Spring Boot 和其他人使用。 (LGPL-2.1 或更高版本)
          • Dex - 強大的 ETL 和數據可視化的 Java/JavaFX 工具。
          • Embulk - 幫助在各種數據庫、存儲、文件格式和云服務之間傳輸數據的批量數據加載器。
          • fswatch - 監視目錄文件系統變化的微庫,簡化 java.nio.file.WatchService。
          • Gephi - 用于可視化和操作大型圖網絡的跨平臺。 (僅限 GPL-3.0)
          • Guava - 集合、緩存、原語支持、并發庫、通用注釋、字符串處理、I/O 等。
          • JADE - 構建和調試多代理系統的框架和環境。 (僅限 LGPL-2.0)
          • Java Diff Utils - 用于文本或數據比較和修補的實用程序。
          • JavaVerbalExpressions - 幫助構建困難的正則表達式的庫。
          • JGit - 實現 Git 版本控制系統的輕量級純 Java 庫。
          • minio-java - 提供簡單的 API 來訪問任何與 Amazon S3 兼容的對象存儲服務器。
          • Protégé - 提供本體編輯器和框架來構建基于知識的系統。
          • Underscore-java - Underscore.js 函數的端口。

          版本管理器

          幫助創建開發 shell 環境和在不同 Java 版本之間切換的實用程序。

          • jabba - 受 nvm 啟發的 Java 版本管理器。 支持 macOS、Linux 和 Windows。
          • jenv - 受 rbenv 啟發的 Java 版本管理器。 可以全局配置或按項目配置。 在 Debian 和 macOS 上測試。
          • SDKMan - 受 RVM 和 rbenv 啟發的 Java 版本管理器。 支持基于 UNIX 的平臺和 Windows。

          網絡爬蟲

          分析網站內容的庫。

          • Apache Nutch - 用于生產環境的高度可擴展、高度可擴展的網絡爬蟲。
          • Crawler4j - 簡單輕量級的網絡爬蟲。
          • jsoup - 抓取、解析、操作和清理 HTML。
          • StormCrawler - 用于構建低延遲和可擴展網絡爬蟲的 SDK。
          • webmagic - 具有下載、url 管理、內容提取和持久性的可擴展爬蟲。

          網絡框架

          分析網站內容的庫。

          • Apache Nutch - 用于生產環境的高度可擴展、高度可擴展的網絡爬蟲。
          • Crawler4j - 簡單輕量級的網絡爬蟲。
          • jsoup - 抓取、解析、操作和清理 HTML。
          • StormCrawler - 用于構建低延遲和可擴展網絡爬蟲的 SDK。
          • webmagic - 具有下載、url 管理、內容提取和持久性的可擴展爬蟲。

          工作流編排引擎

          • Cadence - 來自 Uber 的有狀態代碼平臺。
          • flowable - 緊湊高效的工作流和業務流程管理平臺。
          • Temporal - 微服務編排平臺,從 Cadence 分叉,但基于 gRPC。

          資源

          相關awesome列表

          Awesome Lists related to the Java & JVM ecosystem.

          • Awesome Annotation Processing
          • Awesome Graal
          • Awesome Gradle Plugins
          • AwesomeJavaFX
          • Awesome JVM
          • Awesome Microservices
          • Awesome REST
          • Awesome Selenium
          • ciandcd
          • Useful Java Links
          • Java Concurrency Checklist
          • Java Developer Roadmap

          社區

          積極討論。

          • r/java - Java 社區的 Subreddit。
          • 堆棧溢出 - 問答平臺。
          • VirtualJUG - 虛擬 Java 用戶組。

          前端

          為此列表提供前端的網站。 請注意,不會有官方網站。 我們不與特定網站關聯,每個人都可以創建一個。

          • java.libhunt.com

          Influential Books

          Books that made a big impact and are still worth reading.

          有影響力的書籍

          產生重大影響且仍然值得一讀的書籍。

          • Core Java Volume I--Fundamentals
          • Core Java, Volume II--Advanced Features
          • Effective Java (3rd Edition)
          • Java 并發實踐
          • Thinking in Java

          播客和截屏視頻

          編程時可以看或聽的東西。

          • A Bootiful Podcast
          • Inside Java (官方)
          • Java Off Heap
          • The Java Council
          • The Java Posse -自 2015 年 2 月起停產。

          人物

          Twitter

          要關注的活躍帳戶。來自推特的描述.

          • Adam Bien - 自由作家、JavaOne Rockstar 演講者、顧問、Java Champion。
          • Aleksey Shipil?v - 性能極客、基準測試沙皇、并發錯誤獵人。
          • Antonio Goncalves - Java Champion,JUG Leader,Devoxx France,Java EE 6/7,JCP,作者。
          • Arun Gupta - Java Champion、JavaOne Rockstar、JUG 領導者、Devoxx4Kids-er、Couchbase 開發人員宣傳副總裁。
          • Brian Goetz - Oracle 的 Java 語言架構師。
          • Bruno Borges - 甲骨文的產品經理/Java Jock。
          • Chris Richardson - 軟件架構師、顧問和連續創業者,Java Champion,JavaOne Rock Star,*POJOs in Action-作者。
          • Ed Burns - Oracle 技術人員的咨詢成員。
          • Eugen Paraschiv - Spring Security Course 的作者。
          • Heinz Kabutz - Java Champion,演講者,The Java Specialists' Newsletter 的作者,并發性能專家。
          • Holly Cummins - IBM 倫敦 Bluemix Garage 的技術主管、Java Champion、開發人員、作家、JavaOne RockStar。
          • James Weaver - Java/JavaFX/IoT 開發人員、作者和演講者。
          • Java EE - 官方 Java EE Twitter 帳戶。
          • Java 雜志 - 官方 Java 雜志帳戶。
          • Java - 官方 Java Twitter 帳戶。
          • Javin Paul - 知名 Java 博主。
          • Josh Long - Pivotal 的 Spring 倡導者,O'Reilly 的 Cloud Native Java 和使用 Spring Boot 構建微服務的作者,JavaOne Rock Star。
          • Lukas Eder - Java Champion、演講者、創始人兼 CEO Data Geekery (jOOQ)。
          • Mani Sarkar - Java Champion、Polyglot、參與@graalvm 的軟件工匠、AI/ML/DL、數據科學、開發人員社區、演講者和博主。像這樣的幾個很棒的列表的創建者。
          • Mario Fusco - RedHatter,JUG 協調員,經常演講和作者。
          • Mark Heckler - Pivotal 首席技術專家和開發人員倡導者、會議發言人、出版作者和 Java Champion,專注于物聯網和云。
          • Mark Reinhold - 甲骨文 Java 平臺組首席架構師。
          • Markus Eisele - Java EE 布道者,Red Hat。
          • Martijn Verburg - London JUG 聯合領導者、演講者、作者、Java Champion 等等。
          • Martin Thompson - 糊涂的表演強盜。
          • Monica Beckwith - 性能顧問,JavaOne Rock Star。
          • OpenJDK - 官方 OpenJDK 帳戶。
          • Peter Lawrey - Java 性能專家 Peter Lawrey。
          • Randy Shoup - Stitch Fix 工程副總裁,演講者,JavaOne RockStar。
          • Reza Rahman - Java EE/GlassFish/WebLogic 布道者、作家、演講者、開源黑客。
          • Sander Mak - Java Champion,作者。
          • Simon Maple - Java Champion,VirtualJUG 創始人,LJC 負責人,RebelLabs 的作者。
          • Spencer Gibb - 軟件工程師,爸爸,極客,Spring Cloud Core @pivotal 的聯合創始人和負責人。
          • Stephen Colebourne - Java Champion,演講者。
          • Trisha Gee - Java Champion 和演講者。
          • Venkat Subramaniam - 作者,休斯頓大學教授,微軟 MVP 獎獲得者,JavaOne RockStar,Java Champion。
          • Vlad Mihalcea - 致力于 Hypersistence Optimizer 的 Java Champion,數據庫愛好者,《高性能 Java 持久性》一書的作者。

          其他

          • Groundbreakers - Oracle ACE、Groundbreaker 大使和 Java Champion

          網站

          這些網站值得閱讀.

          • Baeldung
          • Dzone
          • foojay.io
          • Google Java Style
          • InfoQ
          • Java Algorithms and Clients
          • Java, SQL, and jOOQ
          • Java.net
          • Javalobby
          • JavaWorld
          • JAXenter
          • RebelLabs
          • OverOps Blog
          • TheServerSide.com
          • Vanilla Java
          • Voxxed

          貢獻

          熱烈歡迎進行貢獻!

          請先看 CONTRIBUTING 引導 和 驗證工具.

          近叨叨和公司里的實習生閑聊,小伙子提出了想要自己寫游戲引擎的想法,激動地和我講了半個小時的引擎架構設想,生命周期怎么怎么定,我們現在用的引擎是多么多么的不行,有多少多少的問題。

          我只想說,WHAT?有木有搞錯?自己寫引擎?驚訝的我手中的大寶劍都軟了!小伙子干游戲程序猿真是屈才了!給你一個團隊能干翻所有的引擎!

          還真是閑著沒事車輪子排排造!看來是平時分配的小任務少了。叨叨干游戲程序猿也已多年,期間用過或者了解過的游戲引擎不下十幾款。不過叨叨做的是手游研發,自然引擎都是手游相關的。在Cocos2d還沒有跨平臺前,Android平臺有N多款開源引擎,例如:Angle、Rokon、LGame、AndEngine(用該引擎做過兩個小游戲)、libgdx、jPCT、Alien3d、Catcake等等。iOS平臺則有Cocos2d-iphone,當時就已經廣泛用在了iOS端的手游研發中了。但在Cocos2d-x跨平臺游戲引擎出來之后,這些開源引擎基本沒有了市場。而叨叨所在的公司里大多數項目使用的是Unity3D,小部分用了Unreal4。目前手游市場上Cocos2d-x、Unity3D、Unreal4幾乎占了99%的份額,這些年TX出來的游戲基本都是Unity3D開發的。下面就重點介紹下這三款游戲引擎。

          【Cocos2d-x】

          Cocos2d-x是MIT許可證下發布的開源游戲引擎,游戲開發快速、簡易、功能強大。2015年2月,觸控科技正式推出了游戲開發一站式解決方案cocos,將Cocos 2d-x、Cocos Studio、Cocos Code IDE等框架及工具整合在一起。

          Cocos2d-x核心優勢在于允許開發人員利用C++、Lua及Javascript來進行跨平臺部署,覆蓋平臺包括iOS、Android、Windows Phone、Windows, Mac OSX 3及Tizen等等,省事省力省成本。

          【特點】

          1. 易于使用:游戲開發者可以把關注焦點放在游戲設置本身,而不必消耗大量時間學習晦澀難懂的OpenGL ES,此外,Cocos2d-x還提供了大量的規范。

          2. 高效:Cocos2d-x基于OpenGL ES進行圖形渲染,從而讓移動設備的GPU性能發揮到極致。

          3. 靈活:方便擴展,易于集成第三方庫。

          4. 免費:基于MIT協議的免費開源框架,用戶可以放心使用,不用擔心商業授權的問題。

          5. 社區支持:關心Cocos2d-x的開發者自發建立了多個社區組織,可以方便的查閱各類技術資料。

          隨著Cocos Studio的推出,其包括了UI編輯器、動畫編輯器、場景編輯器和數據編輯器,更是進一步降低開發難度,提高開發效率,減少開發成本。

          官網地址:http://www.cocos2d-x.org/


          【Unity3D】

          Unity3D是由Unity Technologies開發的一個讓玩家輕松創建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型游戲開發工具,是一個全面整合的專業游戲引擎。Unity類似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的圖型化開發環境為首要方式的軟件。其編輯器運行在Windows 和Mac OS X下,可發布游戲至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平臺。也可以利用Unity web player插件發布網頁游戲,支持Mac和Windows的網頁瀏覽。它的網頁播放器也被Mac widgets所支持。

          從2014年年底開始,叨叨公司里幾乎所有的項目都轉到了Unity3D引擎中做開發,目前叨叨最熟悉的游戲引擎也是Unity3D。Unity3D使用的C#作為主要的語言,各種高級的語言特性使用的爽爽噠!再加上Unity Asset Store里提供各種插件支持及完整工程實例,讓叨叨是徹底愛上了Unity3D游戲引擎。

          Unity3D官方還放出了超可愛的二次元萌娘“Unity娘”,更是符合眾多的二次元程序猿的口味!

          官網地址:http://www.unity3d.com/


          【Unreal Engine 4(虛幻引擎4)】

          虛幻引擎4是享譽全球的3D游戲開發工具,它支持從2D的移動平臺游戲到電腦到游戲主機平臺的3D游戲大作的開發,如今市面上流行的很多優秀游戲作品都是采用Unreal Engine4引擎開發的,現在這款優秀的3D游戲引擎正式宣布免費提供給游戲開發者們使用,用戶可以將 UE 免費用于游戲開發、虛擬現實、教育、建筑以及電影等方面。

          前一代的虛幻引擎的代表作《戰爭機器》、《彩虹六號》、《生化奇兵》、《質量效應1、2》、《鏡之邊緣》、《蝙蝠俠:阿甘瘋人院》、《永遠的毀滅公爵》、《國土防線》,相信或多或少都有聽過,游戲的狂熱愛好者更是每款都不會錯過,其在PC端游上的表現更是大家有目共睹。作為第4代支持了移動平臺的虛幻引擎4,各大游戲廠商都期待其在移動端的卓越表現。

          去年更有國人用虛幻引擎4打造了HGame,放出的游戲Demo更讓各位紳士激動不已!

          官網地址:https://www.unrealengine.com/

          HGame的Demo地址就不放了!


          最后再說一句,這個世界的車輪已經夠多了,造車輪需謹慎啊!少年郎!


          主站蜘蛛池模板: 国产av熟女一区二区三区| 尤物精品视频一区二区三区| 亚洲国产一区国产亚洲| 一区国产传媒国产精品| 亚洲国产一区二区三区在线观看| 久久国产香蕉一区精品| 无码毛片一区二区三区视频免费播放 | 国产在线无码视频一区| 精品无人区一区二区三区在线| 国产日韩一区二区三区在线观看| 一区二区精品久久| 日韩一区二区三区精品| 精彩视频一区二区| 精品一区二区三区免费毛片| 精品国产天堂综合一区在线| 丰满爆乳无码一区二区三区| 人妻夜夜爽天天爽一区| 精品人妻无码一区二区色欲产成人| 国产精品制服丝袜一区| 精品国产乱码一区二区三区| 麻豆高清免费国产一区| 麻豆一区二区99久久久久| 91无码人妻精品一区二区三区L| 精品一区二区三区波多野结衣| 在线播放一区二区| 亚洲欧美日韩一区二区三区| 久久久久人妻精品一区三寸| 国产伦精品一区二区| 一区二区三区无码高清视频| 国产高清在线精品一区小说| 亚洲一区爱区精品无码| 精品深夜AV无码一区二区| 亚洲性无码一区二区三区| 无码夜色一区二区三区| 能在线观看的一区二区三区| 国产福利电影一区二区三区,亚洲国模精品一区| 色噜噜一区二区三区| 亚洲乱码一区二区三区在线观看| 无码成人一区二区| 国产一区二区好的精华液| 一区二区在线视频免费观看|