Java資源大全中文版(Awesome最新版)


Awesome系列的Java資源整理。awesome-java 就是akullpp發起維護的Java資源列表,內容包括:構建工具、數據庫、框架、模板、安全、代碼分析、日志、第三方庫、書籍、Java 站點等等。

業務流程管理套件

流程驅動的軟件系統構建,中間件。

  • jBPM:非常靈活的業務流程管理框架,致力於構建開發與業務分析人員之間的橋梁。 官網
  • Activiti:新一代的開源 BPM 引擎,核心是基於 Java 的超快速、超穩定的 BPMN 2.0 流程引擎,強調流程服務的可嵌入性和可擴展性。 官網  下載

經典的工具與庫 (Ancients)

In existence since the beginning of time and which will continue being used long after the hype has waned.自從一開始就存在,並且在炒作已經消失之后將繼續使用。

  • Apache Ant -使用XML構建流程管理。
  • Apache Hadoop - 商品硬件集群數據集的存儲和大規模處理。
  • Apache OpenNLP - 用於常見任務(如標記化)的工具包。
  • Apache Velocity -一般HTML頁面,電子郵件或源代碼生成的模板。
  • FreeMarker -一般模板引擎沒有任何重量級或意見依賴。
  • GlassFish - Oracle支持的Java EE的應用服務器和參考實現。
  • GWT - 工具箱包括客戶端代碼的Java到JavaScript編譯器,XML解析器,RPC的API,JUnit集成,GUI的國際化支持和小部件。
  • HornetQ -清晰,簡潔,模塊化,並被嵌入。
  • Hudson - 持續集成服務器仍在積極發展。
  • Java Modeling Language (JML) - 行為接口規范語言,可用於指定代碼模塊的行為。 它結合了埃菲爾的合同方式的設計和界面規范語言的Larch系列的基於模型的規范方法,以及細化演算的一些要素。 由其他幾種驗證工具使用。
  • JavaCC - 更具體,稍微更容易學習。
  • JavaServer Faces - Oracle的開源實施JSF標准,Mojarra。
  • JavaServer Pages - 具有自定義標簽庫的網站的常用模板。
  • JUnit - 通用測試框架。
  • Launch4j - 將JAR包裝在輕量級和本機Windows可執行文件中。
  • Quartz - 具有Apache 2.0許可證的開源作業調度程序庫。
  • TestNG - 測試框架。
  • Trove - 原始集合

Bean映射 (Bean Mapping)

Frameworks that ease bean mapping.簡化Bean映射的框架。

  • Dozer - 使用注釋,API或XML配置將數據從一個對象復制到另一個對象的映射器。
  • JMapper - 使用字節碼操作進行閃電快速映射。 支持注釋,API或XML配置。
  • MapStruct - 代碼生成器,它簡化了不同bean類型之間的映射,基於配置方法的約定。
  • ModelMapper -ModelMapper是一個智能對象映射庫,可自動映射對象。
  • Orika - Orika是一個Java Bean映射框架,它將數據從一個對象遞歸到另一個對象.
  • Selma - 愚蠢簡單的靜態鏈接映射器。 Selma是一個基於注釋處理器的bean映射器。

構建工具 (Build)

Tools which handle the build cycle and dependencies of an application.處理應用程序的構建周期和依賴關系的工具。

  • Apache Maven - 聲明式構建和依賴關系管理,有利於配置的約定。 可能更喜歡Apache Ant,它使用相當程序的方法,可能難以維護。
  • Bazel - 從Google構建工具,快速可靠地構建代碼。
  • Gradle -通過Groovy編程的增量構建,而不是聲明XML。 適用於Maven依賴管理。

字節碼操作 (Bytecode Manipulation)

Libraries to manipulate bytecode programmatically.以編程方式操縱字節碼的庫。

  • ASM - 所有目的,低級別,字節碼操作和分析。
  • Byte Buddy - 進一步簡化使用流暢API的字節碼生成。
  • Byteman - 運行時通過DSL(規則)操作字節碼,主要用於測試/故障排除。
  • cglib - 字節代碼生成庫。
  • Javassist -試圖簡化字節碼的編輯。

緩存 (Caching)

Libraries which provide caching facilities.提供緩存設施的圖書館。

  • Caffeine -高性能,接近最佳緩存庫。
  • Ehcache - 分布式通用緩存。

群集管理 (Cluster Management)

Frameworks which can dynamically manage applications inside of a cluster.可以動態管理集群內的應用程序的框架。

  • Apache Aurora - Apache Aurora是用於長時間運行服務和cron作業的Mesos框架。
  • Apache Mesos - 從機器上摘取CPU,內存,存儲和其他計算資源。
  • Singularity - 奇異性是一種Mesos框架,使部署和操作變得容易。 它支持Web服務,后台工作人員,預定工作和一次性任務。

代碼分析 (Code Analysis)

Tools that provide metrics and quality measurements.提供指標和質量測量的工具

  • Checkstyle - 編碼慣例和標准的靜態分析。
  • Codacy - 持續的靜態分析,代碼覆蓋率和軟件指標,以自動執行代碼審查。
  • Error Prone -將常見的編程錯誤視為編譯時錯誤。
  • FindBugs - 字節碼的靜態分析以發現潛在的錯誤。
  • Infer - 產生潛在錯誤列表的工具。
  • jQAssistant - 使用基於Neo4J的查詢語言進行靜態代碼分析。
  • PMD - 用於查找不良編碼實踐的源代碼分析。
  • SonarQube - 通過插件集成其他分析組件,並隨時間提供指標的概述。
  • Spoon - 用於分析和轉換Java源代碼的庫。

代碼覆蓋 (Code Coverage)

Frameworks and tools that enable collection of code coverage metrics for test suites.允許收集測試套件的代碼覆蓋率指標的框架和工具。

  • Clover -Atlassian的專有代碼覆蓋工具,依賴於源代碼檢測,而不是字節碼檢測.
  • Cobertura - 依賴離線(或靜態)字節碼儀器和類加載來收集代碼覆蓋度量; GPLv2許可
  • JaCoCo -使用離線和運行時字節碼工具集的代碼覆蓋率指標的框架; EclEmma,Eclipse代碼覆蓋插件突出使用。

代碼生成 (Code Generators)

Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness.生成重復代碼模式的工具,以減少冗長度和錯誤傾向。

  • ADT4J - 用於代數數據類型的JSR-269代碼生成器。
  • Auto -生成工廠,服務和價值類。
  • FreeBuilder - 自動生成Builder模式。
  • Immutables - 注釋處理器生成簡單,安全和一致的值對象.
  • JHipster - 用於Spring Boot和AngularJS的Yeoman源代碼生成器。
  • Joda-Beans - 小型框架可以將可查詢的屬性添加到Java中,從而增強JavaBeans.
  • Lombok -旨在減少冗長度的代碼生成器。

命令行參數解析器 (Command-line Argument Parsers)

Libraries that make it easy to parse command line options, arguments, etc.可以方便地解析命令行選項,參數等的庫

  • Airline -用於解析Git的基於注釋的框架,如命令行參數。
  • args4j - 小庫來解析類似於javac的參數。
  • JCommander -命令行參數通過實現接口解析框架與自定義類型和驗證.
  • JOpt Simple -使用POSIX getopt()和GNU getopt_long()語法的簡單解析器。 不使用注釋,而是使用流暢的API。

編譯器 (Compiler-compiler)

Frameworks that help to create parsers, interpreters or compilers.有助於創建解析器,解釋器或編譯器的框架。

  • ANTLR -復雜的全功能框架,用於自頂向下的解析。
  • JFlex -詞匯分析儀

配置 (Configuration)

Libraries that provide external configuration.提供外部配置的庫。

  • config - JVM語言的配置庫。
  • ini4j - 提供一個處理Windows的INI文件的API。
  • owner - 減少屬性樣板。
  • KAConf - 基於注釋的Java和Kotlin配置系統。

約束滿足問題求解器(Constraint Satisfaction Problem Solver)

Libraries that help on implementing optimization and satisfiability problems.有助於實現優化和可滿足性問題的庫。

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

持續整合(Continuous Integration)

Tools which support continuously building, testing and releasing applications.支持連續構建,測試和發布應用程序的工具。

  • Bamboo -Atlassian的解決方案與其他產品的良好整合。 您可以申請開源許可證或購買。
  • Concourse -提供具有可在版本控制中保存的配置的碼頭化管道。
  • fabric8 - 集裝箱集成平台。
  • Go - ThoughtWorks開源解決方案。
  • Jenkins -提供基於服務器的部署服務。
  • TeamCity - JetBrains CI解決方案免費版本。
  • Travis - 托管服務經常用於開源項目。

(CSV)

Frameworks and libraries that simplify reading/writing CSV data.簡化讀取/寫入CSV數據的框架和庫。

  • opencsv - 簡單的CSV解析器
  • Super CSV -強大的CSV解析器,支持Dozer,Joda-Time和Java 8。
  • uniVocity-parsers -其中一個速度最快,功能最完整的CSV。 還附帶TSV和固定寬度記錄的解析器。

數據庫(Database)

Everything which simplifies interactions with the database.一切都簡化了與數據庫的交互。

  • Apache Hive -數據倉庫基礎設施建在Hadoop之上。
  • Apache Phoenix - 用於低延遲應用的HBase高性能關系數據庫層。
  • Chronicle Map - 高效的內存中(選擇持久存儲到磁盤)非堆棧鍵值存儲。
  • eXist - 一個NoSQL文檔數據庫和應用平台。
  • FlexyPool - 為最常見的連接池解決方案提供指標和故障轉移策略。
  • Flyway - 簡單的數據庫遷移工具。
  • H2 - 小型數據庫顯示其內存中的功能。
  • HikariCP - 高性能JDBC連接池。
  • JDBI -JDBC的方便抽象。
  • Jedis - 與redis交互的小客戶端,具有命令的方法。
  • jOOQ -生成基於SQL模式的類型安全代碼。
  • Liquibase - 數據庫獨立庫,用於跟蹤,管理和應用數據庫模式更改。
  • MapDB -嵌入式數據庫引擎,提供在磁盤或非堆內存中支持的並發集合。
  • Presto -分布式SQL查詢引擎,用於大數據。
  • Querydsl -Typesafe統一查詢。
  • Realm - 移動數據庫直接在手機,平板電腦或可穿戴式電腦內部運行。
  • Redisson -在Redis服務器之上允許分布式和可擴展的數據結構。
  • Speedment - 利用Java 8 Stream API進行查詢的數據庫訪問庫。
  • sql2o -簡化JDBC封裝,簡化了數據庫訪問,並簡化了將ResultSet映射到POJO。
  • Vibur DBCP - 提供高級性能監控功能的JDBC連接池庫

數據結構(Data structures)

Efficient and specific data structures.高效和具體的數據結構。

  • Apache Avro - 數據交換格式包括動態打字,未標記數據,缺少手動分配的ID。
  • Apache Orc -用於基於hadoop的工作負載的快速高效的柱狀存儲格式。
  • Apache Parquet -基於谷歌Dremel的匯編算法的柱狀存儲格式。
  • Apache Thrift -來自Facebook的數據交換格式。
  • Persistent Collection -Java Collections框架的持久和不變的模擬。
  • Protobuf - Google的數據交換格式
  • SBE - 簡單的二進制編碼,是最快的消息格式之一。
  • Wire -清潔,輕便的協議緩沖區。

日期和時間(Date and Time)

Libraries related to handling date and time.與處理日期和時間相關的圖書館。

  • Almanac Converter - 不同日歷系統之間的簡單轉換。
  • Joda-Time - Java 8之前的事實上的標准日期/時間庫。
  • ThreeTenBP - Joda-Time作者的JSR 310端口(java.time包)。
  • Time4J - 高級日期和時間庫。

依賴注入(Dependency Injection)

Libraries that help to realize the Inversion of Control paradigm.有助於實現控制范式反轉的圖書館。

  • Apache DeltaSpike - CDI擴展框架。
  • Dagger2 -無反射的編譯時注入框架。
  • Guice -輕巧但功能強大的框架,完成匕首。
  • HK2 - 輕量級和動態依賴注入框架。

開發(Development)

Augmentation of the development process at a fundamental level.將發展進程擴大到根本層面。

  • AspectJ - 無縫面向方面的編程擴展。
  • DCEVM - 修改JVM,允許在運行時無限制地重新定義加載的類。
  • Faux Pas -通過規避Java運行系統中的任何功能接口默認情況下不允許引發檢查異常的問題來簡化錯誤處理的庫。
  • HotswapAgent -無限運行時類和資源重新定義。
  • JRebel c - 立即重新加載代碼和配置更改,無需重新部署。
  • Spring Loaded -類重新加載代理。

分布式應用(Distributed Applications)

Libraries and frameworks for writing distributed and fault-tolerant applications.用於編寫分布式和容錯應用程序的庫和框架。

  • Akka -用於構建並發,分布式和容錯事件驅動應用程序的工具包和運行時。
  • Apache Storm -實時計算系統
  • Apache ZooKeeper - 協調服務與大型分布式系統的分布式配置,同步和命名注冊表。
  • Atomix -容錯分布式協調框架。
  • Axon Framework - 創建CQRS應用程序的框架。
  • Copycat - 容錯狀態機復制框架。
  • Hazelcast - 高度可擴展的內存數據網格。
  • Hystrix - 提供延遲和容錯。
  • JGroups - 用於可靠消息傳遞和創建集群的工具包。
  • Orbit - 虛擬演員,為傳統演員增添了另一個抽象層次。
  • Quasar -用於JVM的輕量級線程和actors。

分布式數據庫(Distributed Databases)

Databases in a distributed system that appear to applications as a single data source.分布式系統中的應用程序顯示為單個數據源的數據庫。

  • Apache Cassandra - 面向列,提供高可用性,無單點故障。
  • Apache HBase -Hadoop數據庫用於大數據。
  • Druid -實時和歷史的OLAP數據存儲,優於聚合和近似查詢。
  • Infinispan - 用於緩存的高度並發鍵/值數據存儲。
  • OpenTSDB -可擴展和分布式的時間序列數據庫寫在Apache HBase之上。
  • OrientDB -嵌入式分布式數據庫寫在Hazelcast之上。

分發(Distribution)

Tools which handle the distribution of applications in native formats.以原生格式處理應用程序分發的工具。

  • Bintray -處理發布的二進制文件的版本控制。 也可以與Maven或Gradle一起使用,並提供開源軟件或幾項業務計划的免費計划。
  • Boxfuse -使用Immutable Infrastructure的原理將JVM應用程序部署到AWS。
  • Capsule -簡單而強大的包裝和部署。 類固醇上的脂肪JAR或支持JVM優化容器的“Docker for Java”。
  • Central Repository - 最大的二進制組件存儲庫可作為開源社區的免費服務。 Apache Maven使用的默認值,可用於所有其他構建工具。
  • IzPack -用於跨平台部署的安裝程序創作工具。
  • JitPack -易於使用的GitHub軟件包存儲庫。 根據需要構建Maven / Gradle項目,並發布即用型軟件包。
  • Nexus - 具有代理和緩存功能的二進制管理。
  • packr -在Windows,Linux和Mac OS X上打包JAR,資產和本機分發的JVM。
  • really-executable-jars-maven-plugin - 用於自行執行JAR的Maven插件。

文件處理(Document Processing)

Libraries that assist with processing office document formats.協助處理辦公文件格式的圖書館。

  • Apache POI - 支持OOXML(XLSX,DOCX,PPTX)以及OLE2(XLS,DOC或PPT)。
  • documents4j - 使用第三方轉換器(如MS Word)進行文檔格式轉換的API。
  • docx4j - 創建和操作Microsoft Open XML文件。

格式驗證(Formal Verification)

Formal-methods tools: proof assistants, model checking, symbolic execution etc.正式方法工具:證明助理,模型檢查,符號執行等

  • CATG -卷積單元測試引擎。 使用正式方法自動生成單元測試。
  • Checker Framework - 可插拔式系統。 包括無效類型,物理單位,不變性類型等。
  • Daikon - Daikon檢測可能的程序不變量,並可以根據這些invariats生成JML規范。
  • Java Path Finder (JPF) - 包含模型檢查器的JVM形式驗證工具等。 由NASA創建..
  • JMLOK 2.0 -通過反饋導向的隨機測試生成檢測代碼和JML規范之間的不一致,並建議檢測到每個不一致的可能.
  • KeY - KeY系統是一種正式的軟件開發工具,旨在盡可能無縫地集成面向對象軟件的設計,實現,形式規范和形式驗證。 使用JML進行規范和符號執行來進行驗證。
  • OpenJML - 將JML規范轉換為SMT-LIB格式,並將程序隱含的證明問題傳遞給后端求解器

功能編程(Functional Programming)

Libraries that facilitate functional programming.促進功能編程的庫。

  • cyclops-react - Monad和流實用程序,理解,模式匹配,所有JDK集合的功能擴展,未來流,蹦床等等。
  • derive4j - Java 8注解處理器和用於導出代數數據類型構造函數,模式匹配,態射的框架。
  • Fugue - 功能延伸
  • Functional Java - 實現許多基礎和高級編程抽象,有助於面向組件的開發。
  • Javaslang - 提供持久數據類型和功能控制結構的功能組件庫。
  • jOOλ - 擴展到Java 8,其目的是解決lambda中的差距,提供大量缺失類型和豐富的一系列順序Stream API添加。.
  • protonpack - 流實用程序的集合
  • StreamEx - 增強Java 8流。

游戲開發(Game Development)

Frameworks that support the development of games.支持游戲開發的框架。

  • jMonkeyEngine - 用於現代3D開發的游戲引擎。
  • libGDX - 全面跨平台,高層次框架。
  • LWJGL - 強大的框架,可以抽象出OpenGL / CL / AL等庫。

地理空間(Geospatial)

Libraries for working with geospatial data and algorithms.用於處理地理空間數據和算法的庫。

  • Apache SIS - 圖書館開發地理空間應用
  • Geo - Java中的GeoHash實用程序
  • Geotoolkit.org -
    翻譯時出錯用於開發地理空間應用的圖書館。 建立在Apache SIS項目的頂部
  • GeoTools - 為地理空間數據提供工具的圖書館。
  • GraphHopper - 道路引擎引擎。 用作Java庫或獨立Web服務。
  • H2GIS - H2數據庫的空間擴展。
  • Jgeohash - 可以幫助Java開發人員使用GeoHash算法的庫。
  • Mapsforge - 基於OpenStreetMap數據渲染地圖的軟件。
  • Spatial4j - 通用空間/地理空間ASL許可的開源Java庫。

圖形用戶界面(GUI)

Libraries to create modern graphical user interfaces.圖書館創建現代圖形用戶界面。

  • JavaFX - 搖擺不定的繼承人
  • Scene Builder - JavaFX應用程序的可視化布局工具。
  • SWT -標准窗口小部件工具包(SWT)是一個用於Java平台的圖形窗口小部件工具包。

高性能(High Performance)

Everything about high performance computation, from collections to specific libraries.關於高性能計算的一切,從集合到特定的庫。

  • Agrona -高性能應用中常見的數據結構和實用方法。
  • Disruptor - 跨線程消息傳遞庫。
  • Eclipse Collections - 集合框架靈感來自於Smalltalk。
  • fastutil - 快速和緊湊的類型特定的集合.
  • HPPC - 原始集合。
  • JCTools -JDK目前缺少並發工具。
  • Koloboke -哈希集和散列圖。

超媒體類型(Hypermedia Types)

Libraries that handle serialization to hypermedia types.處理對超媒體類型的序列化的庫。

集成開發環境(IDE)

Integrated development environments that try to simplify several aspects of development.集成開發環境,試圖簡化開發的幾個方面。

  • Eclipse -成立的開源項目,支持大量的插件和語言。
  • IntelliJ IDEA -支持很多JVM語言,為Android開發提供了很好的選擇。 商業版針對企業部門
  • NetBeans - 提供從數據庫訪問到HTML5的多個Java SE和EE功能的集成。

圖像處理(Imagery)

Libraries that assist with the creation, evaluation or manipulation of graphical images.協助創建,評估或操縱圖形圖像的圖書館。

  • Imgscalr - 在純Java 2D中實現的簡單高效的硬件加速映像擴展庫。
  • Tess4J - Tesseract OCR API的JNA包裝器。
  • Thumbnailator - 縮略圖是Java的高質量縮略圖生成庫。
  • TwelveMonkeys - 收集擴展支持的圖像文件格式數量的插件。
  • ZXing -多格式1D / 2D條形碼圖像處理庫。

(JSON)

Libraries for serializing and deserializing JSON to and from Java objects.用於將JSON序列化和反序列化為Java對象的庫。

  • Genson - 強大而易用的Java到JSON轉換庫。
  • Gson - 將對象序列化為JSON,反之亦然。 良好的性能與即時使用。
  • Jackson-datatype-money - 開源的傑克遜模塊支持JavaMoney數據類型的JSON序列化和反序列化。
  • Jackson -與GSON類似,但如果您需要更頻繁地實例化庫,則性能將會得到提升。
  • JSON-io -將Java轉換為JSON。 將JSON轉換為Java。 漂亮的打印JSON。 Java JSON序列化程序.
  • LoganSquare - 基於Jackson流式API的JSON解析和序列化庫。 優於GSON&Jackson的圖書館。

JSON處理(JSON Processing)

Libraries for processing data in JSON format.以JSON格式處理數據的庫。

  • fastjson - 非常快的處理器,無需額外的依賴關系和完整的數據綁定。
  • Jolt -JSON到JSON轉換工具。
  • JsonPath - 使用XPATH類似語法從JSON中提取數據。
  • JsonSurfer - Streaming JsonPath處理器專用於處理大而復雜的JSON數據。

虛擬機與Java開發工具(JVM and JDK)

Current implementations of the JVM/JDK.JVM / JDK的當前實現。

  • Avian - JVM具有JIT和AOT模式。 包括一個iOS端口。
  • JDK 9 -早期訪問版本的JDK 9。
  • OpenJDK - Linux的開源實現。
  • ParparVM -虛擬機與iOS的非阻塞並發GC。
  • Zulu OpenJDK 9 - 早期訪問OpenJDK 9構建用於Windows,Linux和Mac OS X.
  • Zulu OpenJDK -OpenJDK通過Java 8構建Windows,Linux和Mac OS X。

日志(Logging)

Libraries that log the behavior of an application.記錄應用程序行為的庫。

  • Apache Log4j 2 - 用強大的插件和配置架構完成重寫。
  • Graylog - 適合擴展角色和權限管理的開源聚合器。
  • Kibana - 分析和可視化日志文件。 某些功能需要付款。
  • Logback - 通過Groovy有趣的配置選項的強大的日志庫.
  • Logbook - 可擴展的開源庫,用於HTTP請求和響應日志記錄。
  • Logstash -用於管理日志文件的工具。
  • SLF4J -與實現一起使用的抽象層。
  • tinylog -具有靜態記錄器類的輕量級日志框架。
  • Tracer - 在分布式系統中調用跟蹤和日志關聯。

機器學習(Machine Learning)

Tools that provide specific statistical algorithms which allow learning from data.提供允許從數據學習的特定統計算法的工具。

  • Apache Flink - 快速可靠的大型數據處理引擎。
  • Apache Mahout - 可擴展算法側重於協同過濾,聚類和分類。
  • Apache Spark - 數據分析集群計算框架。
  • DeepDive - 從非結構化數據創建結構化信息並將其集成到現有數據庫中。
  • Deeplearning4j -分布式多線程深層學習庫。
  • H2O -用於統計大數據的分析引擎。
  • JSAT - 用於預處理,分類,回歸和聚類的算法,支持多線程執行。
  • Oryx 2 -構建實時大型機器學習應用程序的框架,其中還包括用於協同過濾,分類,回歸和聚類的端到端應用程序。
  • Smile - 統計機器智能和學習引擎提供了一套機器學習算法和可視化庫。
  • Weka - 收集從預處理到可視化的數據挖掘任務的算法

消息(Messaging)

Tools that help to send messages between clients in order to ensure protocol independency.幫助客戶端發送消息的工具,以確保協議的獨立性。

  • Aeron - 高效可靠的單播和組播消息傳輸。
  • Apache ActiveMQ -實現JMS並將異步通信同步轉換的消息代理。
  • Apache Camel - 通過企業集成模式將不同的運輸API粘合在一起
  • Apache Kafka -高吞吐量分布式消息系統。
  • Hermes -快速可靠的消息代理建立在卡夫卡之上。
  • JeroMQ - ZeroMQ的實現。
  • Nakadi -在Kafka之上提供一個RESTful API。
  • RocketMQ -快速,可靠,可擴展的分布式消息平台。
  • Smack - 跨平台XMPP客戶端庫。

其它(Miscellaneous)

Everything else.其他一切

  • Codename One - 用於編寫原生手機的跨平台解決方案(iOS,Android等)
  • CQEngine -Java集合上的超快SQL類查詢。
  • Design Patterns - 實現和解釋最常見的設計模式。
  • Failsafe -簡單的故障處理與重試和斷路器。
  • J2ObjC - Java到Objective-C翻譯器,用於將Android庫移植到iOS。
  • jabba - Java版本管理器靈感來自nvm。
  • javaslang-circuitbreaker - 功能容錯庫。
  • JBake -靜態網站生成器
  • Jimfs - 內存文件系統。
  • Joda-Money - JDK提供的基本貨幣和金錢類別和算法。
  • JPad - 代碼片段
  • Lanterna - 簡單的控制台文本GUI庫類似於詛咒。
  • LightAdmin - 可插拔的CRUD UI庫,用於快速開發應用程序。
  • Membrane Service Proxy - 一個開源的反向代理框架,用Java編寫。
  • Modern Java - A Guide to Java 8 - 熱門Java 8指南。
  • Modernizer - 檢測傳統Java API的使用。
  • OpenRefine - 用於處理凌亂數據的工具:清理,轉換,使用Web服務擴展它並將其鏈接到數據庫.
  • TypeTools - 解決通用類型的工具。

微服務(Microservice)

Tools for managing microservices, i.e. creation, coordination or discovery.用於管理微服務的工具,即創建,協調或發現。

  • Apollo -用於撰寫可組合的微服務的圖書館。
  • consul-api - Consul API的客戶端是分布式,高可用性和數據中心感知的注冊表/發現服務。
  • Eureka -基於REST的服務注冊表,用於彈性負載平衡和故障轉移。
  • Lagom - 創建基於微服務系統的框架。
  • SnopEE -Java EE微服務的發現服務

監控(Monitoring)

Tools that monitor applications in production.監控生產中的應用程序的工具。

  • AppDynamics c - 性能監視器
  • Glowroot - 開源Java APM。
  • JavaMelody -性能監控和分析。
  • jmxtrans - 連接到多個JVM並通過JMX查詢它們的屬性的工具。 其查詢語言基於JSON,允許非Java程序員訪問JVM屬性。 同樣,此工具支持不同的輸出寫入,包括Graphite,Ganglia,StatsD等。
  • Jolokia - JMX over REST.
  • Kamon - 用於監視在JVM上運行的應用程序的工具。
  • Metrics -通過JMX或HTTP公開指標,並將其發送到數據庫。
  • New Relic c - 性能監視器
  • OverOps c - 生產中錯誤監控和調試。
  • Pinpoint -開源APM工具..
  • Prometheus - 提供多維數據模型,DSL,自主服務器節點等等。
  • SPM c - 性能監視器,用於為JVM應用程序分發事務跟蹤。
  • Stagemonitor - JVM應用程序的開源性能監控和事務跟蹤。

本地化(Native)

For working with platform-specific native libraries.用於平台特定的本機庫。

  • JNA - 在不編寫JNI的情況下與本地庫一起工作。 還提供了通用系統庫的接口
  • JNR - 在不編寫JNI的情況下與本地庫一起工作。 還提供了通用系統庫的接口。 與JNA相同的目標,但更快,並作為即將到來的基礎Project Panama.

自然語言處理(Natural Language Processing)

Libraries that specialize on processing text.專門處理文本的圖書館。

  • CoreNLP -斯坦福大學的CoreNLP為標簽,命名實體識別,情緒分析等諸多功能提供了一套基礎工具。
  • DKPro - 用於語言預處理,機器學習,詞匯資源等的可重用NLP工具的集合
  • LingPipe - 工具包,用於從POS標簽到情緒分析的各種任務。

網絡編程(Networking)

Libraries for network programming.網絡編程庫。

  • Async Http Client - LibAsynchronous HTTP和WebSocket客戶端庫。
  • Comsat - 將標准的Java Web相關API與Quasar光纖和演員集成。
  • Finagle - 用於構建高並發服務器的可擴展RPC系統。 它為多個協議實現統一的客戶端和服務器API,並且是協議無關的,這簡化了新協議的實現。
  • Grizzly - NIO框架。 在Glassfish中用作網絡層。
  • gRPC - 基於protobuf和HTTP / 2的RPC框架。
  • MINA -抽象事件驅動的異步I / O API,用於通過Java NIO進行TCP / IP和UDP / IP的網絡操作。
  • Netty - 構建高性能網絡應用程序的框架。
  • Nifty - 在Netty上實施Thrift客戶端和服務器。
  • OkHttp - HTTP + SPDY客戶端。
  • Riptide - Spring的RestTemplate的客戶端響應路由。
  • Undertow - Web服務器提供基於NIO的阻塞和非阻塞API。 在WildFly中用作網絡層
  • urnlib -用於表示,解析和編碼URN的Java庫,如RFC 2141 ...

對象關系映射(ORM)

APIs which handle the persistence of objects.處理對象持久性的API。

  • Ebean - 提供簡單快速的數據訪問。
  • EclipseLink - 支持一些持久性標准:JPA,JAXB,JCA和SDO。
  • Hibernate - 強大而廣泛地應用於活躍的社區。
  • MyBatis - 夫妻對象與存儲過程或SQL語句。

(PaaS)

Java platform as a service.Java平台即服務。

(PDF)

Everything that helps with the creation of PDF files.一切有助於創建PDF文件的東西。

性能分析(Performance analysis)

Tools for performance analysis, profiling and benchmarking.性能分析,分析和基准測試工具。

  • GCeasy c - 分析和可視化GC日志的工具。 它提供了一個免費的基於雲的上傳界面。
  • honest-profiler - 低開銷,無偏差的采樣分析儀。
  • jHiccup - 日志和記錄平台JVM檔位。
  • JMH - JMH是用於構建,運行和分析以Java和其他針對JVM的語言編寫的nano / micro / milli / macro基准測試的Java線程.
  • JProfiler c - 剖面儀
  • LatencyUtils - 延遲測量和報告的實用程序。
  • XRebel c - Profiler for Web應用程序。
  • YourKit Java Profiler c - 剖面儀

平台(Platform)

Frameworks that are suites of multiple libraries encompassing several categories.包含多個類別的多個庫的套件框架。

  • CUBA Platform - 基於Spring,EclipseLink和Vaadin的高級框架,用於開發具有豐富Web界面的企業應用程序.
  • Spring - 提供從依賴注入到面向方面的編程到安全性的許多包。

反應庫(Reactive libraries)

Libraries for developing reactive applications.用於開發反應性應用的圖書館。

  • Reactive Streams - 提供非阻塞背壓的異步流處理標准。
  • Reactor -用於構建反應性快速數據應用程序的庫。
  • RxJava - 用於使用來自JVM的可觀察序列編寫異步和基於事件的程序的庫
  • vert.x - Polyglot事件驅動應用程序框架。

REST框架(REST Frameworks)

Frameworks specifically for creating RESTful services.專門用於創建RESTful服務的框架。

  • Dropwizard - 使用Jetty,Jackson,Jersey和Metrics設置現代Web應用程序的意見框架。
  • Feign - 由Retrofit,JAXRS-2.0和WebSocket啟發的HTTP客戶端綁定。
  • Jersey - JAX-RS參考實現。
  • MicroserverSpring&Spring Boot的一個方便的可擴展Microservices插件系統,擁有超過30個插件並且不斷增長,支持微型整體和純粹的微型服務。
  • RAML - 建立語言,以合約方式生成REST API
  • Rapidoid -一個簡單,安全和極快的框架,包括嵌入式HTTP服務器,GUI組件和依賴注入。
  • rest.li -使用類型安全綁定和異步非阻塞IO構建強大,可擴展的RESTful架構的框架,該端口到終端開發人員工作流程可促進清潔實踐,統一的界面設計和一致的數據建模。
  • RESTEasy - 完全認證和便攜式實現JAX-RS規范。
  • RestExpress - JBoss Netty HTTP堆棧上的薄型封裝可提供擴展和性能。
  • Restlet Framework - 先進的框架具有強大的路由和過濾功能,統一的客戶端和服務器API。
  • Retrofit - 類型安全的REST客戶端。
  • Spark -Sinatra啟發框架。
  • Swagger - Swagger是用於描述,生成,消費和可視化RESTful Web服務的規范和完整框架實現。

科學計算(Science)

Libraries for scientific computing, analysis and visualization.用於科學計算,分析和可視化的圖書館。

  • DataMelt - 科學計算,數據分析和數據可視化的環境。
  • GraphStream -動態圖形建模與分析庫。
  • JGraphT - 提供數學圖論理論對象和算法的圖庫。
  • JGraphX - 可視化庫(主要是Swing)和與邊緣圖的交互。

搜索(Search)

Engines which index documents for search and analysis.引擎搜索和分析索引文檔。

  • Apache Lucene - 高性能,功能齊全的跨平台文本搜索引擎庫。
  • Apache Solr - 針對大量流量優化的企業搜索引擎。
  • Elasticsearch - 具有RESTful Web界面和無模式JSON文檔的分布式,多租戶的全文搜索引擎。

安全(Security)

Libraries that handle security, authentication, authorization or session management.處理安全性,身份驗證,授權或會話管理的庫。

  • Apache Shiro - 執行認證,授權,加密和會話管理。
  • Bouncy Castle - 通用加密庫。 JCA提供商,從基本助手到PGP / SMIME操作的各種功能。
  • Cryptomator - 多平台透明客戶端加密雲端的文件。
  • Hdiv - 運行時應用程序對OWASP的自我保護十大安全風險,如我們不安全的直接對象引用,SQL注入,跨站點腳本(XSS),跨站點請求偽造(CSRF)等等。
  • jjwt -Java JWT:用於Java和Android的JSON Web令牌。
  • Keycloak -用於瀏覽器應用程序和RESTful Web服務的集成SSO和IDM。
  • Keyczar - 易於使用,但安全的加密框架與密鑰版本控制。
  • OACC - 提供基於權限的授權服務。
  • pac4j - 安全引擎。
  • PicketLink - 用於安全和身份管理的傘項目。

序列化(Serialization)

Libraries that handle serialization with high efficiency.以高效率處理序列化的庫。

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

服務器(Server)

Servers which are specifically used to deploy applications.專門用於部署應用程序的服務器。

  • Apache Tomcat - 強大的Servlet和JSP全方位服務器。
  • Apache TomEE - Tomcat加Java EE。
  • Jetty - 重量輕,服務器小,經常嵌入項目。
  • nanohttpd -微型,易於嵌入的HTTP服務器。
  • WebSphere Liberty - IBM開發的輕量級模塊化服務器。
  • WildFly - 以前被稱為JBoss,由Red Hat開發,具有廣泛的Java EE支持。

模板引擎(Template Engine)

Tools which substitute expressions in a template.在模板中替換表達式的工具。

  • Handlebars.java - 無邏輯和語義髭模板。
  • Jtwig - 模塊化,可配置和完全測試的模板引擎。
  • Thymeleaf - 旨在成為JSP的替代品,一般用於XML文件。

測試(Testing)

Tools that test from model to the view.從模型到視圖測試的工具。

  • Apache JMeter - 功能測試和性能測量。
  • Arquillian - Java EE容器的集成和功能測試平台。
  • AssertJ - 流暢的斷言,提高可讀性。
  • Awaitility - DSL用於同步異步操作。
  • Citrus - 集成測試框架,重點是客戶端和服務器端消息。
  • ConcurrentUnit - 用於測試多線程和異步應用程序的工具包。
  • Cucumber - BDD測試框架。
  • Cukes-REST -使用胡瓜的REST服務測試的一些小胡瓜步驟。
  • Gatling - 負載測試工具設計易於使用,可維護性和高性能。
  • GreenMail - 用於集成測試的內存中電子郵件服務器。 支持SMTP,POP3和IMAP,包括SSL
  • Hamcrest - 可以組合的匹配器創建靈活的意圖表達。
  • J8Spec - J8Spec是一個庫,允許以Java編寫的測試遵循由RSpec和Jasmine引入的BDD風格。
  • JBehave - 行為驅動發展框架。
  • JGiven - 開發人員友好的BDD測試框架與JUnit和TestNG兼容。
  • JMockit - 模擬靜態,最終方法等。
  • junit-dataprovider -一個TestNG像JUnit的dataprovider轉輪..
  • JUnitParams - 創建可讀和可維護的參數化測試。
  • Lamdba Behave - 描述性行為規范框架。
  • Mockito - 為了TDD或BDD的目的,在自動化單元測試中創建測試雙對象。
  • MockServer - 允許模仿與HTTP / S集成的系統。
  • Moco - 簡明扼要的網頁服務,為公爵選擇獎2013。
  • PIT - 用於評估現有JUnit或TestNG測試套件的故障檢測能力的快速變異測試框架。
  • PowerMock - 允許模仿靜態方法,構造函數,最終類和方法,私有方法和刪除靜態初始化器。
  • raml-tester - 測試請求/響應是否匹配給定的RAML定義。
  • REST Assured - Java DSL可輕松測試REST / HTTP服務。
  • Selenide - 簡潔的Selenium API可編寫穩定可讀的UI測試。
  • Selenium - 適用於Web應用程序的便攜式軟件測試框架。
  • Spock - JUnit兼容框架具有表達性的Groovy派生規范語言。
  • TestContainers - 提供通用數據庫,Selenium Web瀏覽器或可以在Docker容器中運行的其他任何東西的一次性實例。
  • Truth - 谷歌的斷言和命題框架。
  • WireMock - 存根和模擬Web服務。

效用(Utility)

Libraries which provide general utility functions.提供一般效用函數的庫。

 

  • Apache Commons - 提供不同的通用功能,如配置,驗證,集合,文件上傳或XML處理。
  • CRaSH -在運行CRaSH的JVM中提供一個shell。 由Spring Boot等人使用。
  • Dex - 能夠強大的ETL和數據可視化的Java / JavaFX工具。
  • Gephi - 用於可視化和操縱大型圖形網絡的跨平台。
  • Guava - 集合,緩存,原語支持,並發庫,通用注釋,字符串處理,I / O等。
  • JADE - 構建和調試多代理系統的框架和環境。
  • JavaVerbalExpressions - 一個有助於構建困難的正則表達式的庫。
  • minio-java - 提供簡單的API來訪問任何Amazon S3兼容對象存儲服務器。
  • Protégé - 提供本體編輯器和構建基於知識的系統的框架。
  • Underscore-java -Underscore.js端口功能。

網頁爬網(Web Crawling)

Libraries that analyze the content of websites.分析網站內容的圖書館。

  • Apache Nutch - Highly extensible, highly scalable web crawler for production environment.用於生產環境的高度可擴展,高度可擴展的Web爬蟲。
  • Crawler4j - 簡單輕便的網頁抓取工具。
  • JSoup - 清理,解析,操縱和清理HTML。

Web框架(Web Frameworks)

Frameworks that handle the communication between the layers of an web application.處理Web應用程序層之間的通信的框架。

  • Apache Tapestry - 面向組件的框架,用於創建動態,強大,高度可擴展的Web應用程序。
  • Apache Wicket - 基於組件的Web應用程序框架類似於Tapestry與狀態GUI。
  • Baratine - 用於為獨立或嵌入式的多個環境構建分布式和應用程序的工具包。
  • Blade - 輕巧,模塊化的框架,旨在優雅和簡單。
  • Bootique - 針對可運行應用程序的最小意見框架。
  • Grails - MiniGroovy框架旨在通過有利於配置的慣例來提供高效的環境,無需XML和對mixins的支持。
  • Jooby - 可擴展,快速和模塊化的微框架,提供多種編程模型。
  • Ninja - 全棧Web框架。
  • Pippo - 小型,高度模塊化的Sinatra樣框架。
  • Play - 在瀏覽器中使用配置,熱代碼重新加載和錯誤顯示的約定。
  • PrimeFaces - JSF框架具有免費的和商業版本的支持。 提供幾個前端組件。
  • Ratpack - 一組庫可促進快速,高效,可發展和經過良好測試的HTTP應用程序。
  • Spring Boot - 微框架簡化了Spring應用程序的開發。
  • Vaadin - 事件驅動框架構建在GWT之上。 在客戶端使用Ajax的服務器端架構。

Resources

社區(Communities)

Active discussions.積極討論

前場(Frontends)

Websites that provide a frontend for this list. Please note, there won't be an official website. We don't associate with a particular website and everybody is allowed to create one.為此列表提供前端的網站。 請注意,不會有官方網站。 我們不與特定網站相關聯,並且每個人都被允許創建一個。

影響力書籍(Influential Books)

Books that had a high impact and are still worth reading.影響力很大但仍值得閱讀的書籍。

播客(Podcasts)

Something to listen to while programming.編程時要聽的東西

推特(Twitter)

Active accounts to follow. Descriptions from Twitter.活動帳戶跟隨。 Twitter的說明

  • Adam Bien - 自由職業者:JavaONE Rockstar演講嘉賓,Java Champion顧問作者。
  • Aleksey Shipilëv - 性能極客,基准Tzar,並發Bug獵人。
  • Antonio Goncalves - Java Champion, JUG Leader, Devoxx France, Java EE 6/7, JCP, Author.
  • Arun Gupta - Java Champion,JavaOne Rockstar,JUG Leader,Devoxx4Kids-er,Couchbase開發商倡導副總裁。
  • Brian Goetz -Oracle的Java語言架構師。
  • Bruno Borges - Oracle的產品經理/ Java Jock。
  • Ed Burns - Oracle技術人員咨詢成員。
  • Eugen Paraschiv - 春季安全課程作者。
  • James Weaver - Java / JavaFX / IoT開發人員,作者和演講者。
  • Java EE - 官方Java EE Twitter帳戶。
  • Java Magazine - 官方Java雜志帳號。
  • Java - 官方Java Twitter帳戶。
  • Javin Paul - 著名的Java博主。
  • Lukas Eder - Java Champion,演講者,JUG.ch共同領導者,創始人兼CEO Data Geekery(jOOQ)。
  • Mario Fusco - RedHatter,JUG協調員,頻頻演講者和作者。
  • Mark Reinhold - Oracle平台集團首席架構師。
  • Markus Eisele -Java EE傳播者,紅帽。
  • Martijn Verburg -倫敦JUG聯合領導,演講者,作者,Java冠軍等等。
  • Martin Thompson - 討厭的表現流氓黑社會
  • OpenJDK - 官方OpenJDK帳號。
  • Peter Lawrey -Java執行專家Peter Lawrey。
  • Reza Rahman - Java EE / GlassFish / WebLogic傳播者,作者,演講者,開源黑客。
  • Simon Maple -Java Champion,virtualJUG創始人,LJC領導,RebelLabs作者。
  • Stephen Colebourne - Java冠軍,演講者。
  • Trisha Gee - Java冠軍和演講者。

(Websites)

Sites to read.

更多資源

原文:https://github.com/akullpp/awesome-java


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM