Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-java

Java通用基础组件汇总列表
https://github.com/wangchongjie/awesome-java

Last synced: 5 days ago
JSON representation

  • Dependency Injection

  • Networking

    • Grizzly - NIO framework. Used as a network layer in Glassfish.
  • REST Frameworks

    • Jersey - JAX-RS reference implementation.
    • Spark - Sinatra inspired framework.
    • RESTEasy - Fully certified and portable implementation of the JAX-RS specification.
  • Ancients

    • GlassFish - Application server and reference implementation for Java EE sponsored by Oracle.
    • JavaServer Faces - Oracle's open-source implementation of the JSF standard, Mojarra.
    • JavaServer Pages - Common templating for websites with custom tag libraries.
    • Apache OpenNLP - Toolkit for common tasks like tokenization.
    • Hudson - Continuous integration server still in active development.
    • JavaCC - More specific and slightly easier to learn. Has syntactic lookahead.
    • Trove - Primitive collections.
  • Bytecode Manipulation

    • Byte Buddy - Further simplifies bytecode generation with a fluent API.
  • Cluster Management

    • Singularity - Singularity is a Mesos framework that makes deployment and operations easy. It supports web services, background workers, scheduled jobs, and one-off tasks.
  • Command-line Argument Parsers

    • args4j - Small library to parse command like arguments similar to javac.
    • JCommander - Command line arguments parsing framework with custom types and validation via implementing interfaces.
    • JOpt Simple - Simple parser that uses the POSIX getopt() and GNU getopt_long() syntaxes. Does not use annotations, uses a fluent API instead.
  • Continuous Integration

    • Bamboo - Atlassian's solution with good integration of their other products. You can either apply for an open-source license or buy it.
    • fabric8 - Integration platform for containers.
    • Go - ThoughtWork's open-source solution.
  • Database

    • Apache Hive - Data warehouse infrastructure built on top of Hadoop.
    • H2 - Small SQL Database notable for its in-memory functionality.
    • JDBI - Convenient abstraction of JDBC.
    • jOOQ - Generates typesafe code based on SQL schema.
    • Realm - Mobile database to run directly inside phones, tablets or wearables.
    • Vibur DBCP - JDBC connection pool library which offers advanced performance monitoring capabilities.
  • Data structures

    • Apache Avro - Data interchange format featuring among others: dynamic typing, untagged data, absence of manually assigned IDs.
    • Apache Orc - Fast and efficient columnar storage format for hadoop based workloads.
    • Apache Thrift - Data interchange format that originated at Facebook.
    • Persistent Collection - Persistent and immutable analogue of the Java Collections Framework.
  • Date and Time

  • Development

    • DCEVM - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime.
    • Immutables - Scala-like case classes.
    • Lombok - Code-generator which aims to reduce the verbosity.
  • Distributed Applications

    • Copycat - Fault-tolerant state machine replication framework.
    • JGroups - Toolkit for reliable messaging and creating clusters.
    • Orbit - Virtual Actors, adding another level of abstraction to traditional actors.
    • Quasar - Lightweight threads and actors for the JVM.
    • Apache Storm - Realtime computation system.
  • Distribution

    • Bintray - Version control for binaries which handles the publishing. Can also be used with Maven or Gradle and has a free plan for open-source software or several business plans.
    • IzPack - Setup authoring tool for cross-platform deployments.
    • JitPack - Easy to use package repository for GitHub. Builds Maven/Gradle projects on demand and publishes ready-to-use packages.
    • Nexus - Binary management with proxy and caching capabilities.
  • Formal Verification

    • Daikon - Daikon detects likely program invariants and can generate JML specs based on those invariats.
    • Java Path Finder (JPF) - JVM formal verification tool containing a model checker and more. Created by NASA.
  • Functional Programming

    • Functional Java - Implements numerous basic and advanced programming abstractions that assist composition-oriented development.
    • Javaslang - Functional component library that provides persistent data types and functional control structures.
  • Game Development

    • jMonkeyEngine - Game engine for modern 3D development.
    • libGDX - All-round cross-platform, high-level framework.
    • LWJGL - Robust framework that abstracts libraries like OpenGL/CL/AL.
  • Geospatial

    • Geotoolkit.org - Library for developing geospatial applications. Built on top of the Apache SIS project.
    • H2GIS - A spatial extension of the H2 database.
  • GUI

  • High Performance

    • HPPC - Primitive collections.
    • fastutil - Fast and compact type-specific collections.
  • Imagery

    • ZXing - Multi-format 1D/2D barcode image processing library.
  • JSON

    • Gson - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage.
    • Jackson - Similar to GSON but has performance gains if you need to instantiate the library more often.
  • JVM and JDK

    • JDK 9 - Early access releases of JDK 9.
    • ParparVM - VM with non-blocking concurrent GC for iOS.
    • OpenJDK - Open-source implementation for Linux.
  • Machine Learning

    • Apache Flink - Fast and reliable large-scale data processing engine.
    • Apache Mahout - Scalable algorithms focused on collaborative filtering, clustering and classification.
    • Smile - The Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library.
    • Weka - Collection of algorithms for data mining tasks ranging from pre-processing to visualization.
    • Weka - Collection of algorithms for data mining tasks ranging from pre-processing to visualization.
  • Messaging

    • RocketMQ - A fast, reliable, and scalable distributed messaging platform.
  • Miscellaneous

    • Codename One - Cross platform solution for writing native mobile (iOS, Android, etc.)
    • JPad - Snippet runner.
  • Monitoring

    • AppDynamics - Commercial performance monitor.
    • Jolokia - JMX over REST.
    • Kamon - Tool for monitoring applications running on the JVM.
    • Prometheus - Provides a multi-dimensional data model, DSL, autonomous server nodes and much more.
    • SPM - Commercial performance monitor with distributing transaction tracing for JVM apps.
    • Glowroot - Open source Java APM.
  • Natural Language Processing

    • DKPro - A collection of re-usable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc.
  • PDF

  • Performance analysis

  • Reactive libraries

    • RxJava - Library for composing asynchronous and event-based programs using observable sequences from the JVM.
    • Apache Lucene - High-performance, full-featured cross-platform text search engine library.
    • Elasticsearch - Distributed, multitenant-capable full-text search engine with a RESTful web interface and schema-free JSON documents.
    • Apache Solr - Enterprise search engine optimized for high volume traffic.
  • Security

    • Bouncy Castle - All-purpose cryptographic library. JCA provider, wide range of functions from basic helpers to PGP/SMIME operations.
    • Cryptomator - Multiplatform transparent client-side encryption of files in the cloud.
    • OACC - Provides permission-based authorization services.
  • Testing

    • Arquillian - Integration and functional testing platform for Java EE containers.
    • Citrus - Integration testing framework with focus on client- and serverside messaging.
    • GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL.
    • JMockit - Mocks static, final methods and more.
    • Spock - JUnit-compatible framework featuring an expressive Groovy-derived specification language.
    • JMockit - Mocks static, final methods and more.
    • JMockit - Mocks static, final methods and more.
    • JMockit - Mocks static, final methods and more.
    • JMockit - Mocks static, final methods and more.
    • JMockit - Mocks static, final methods and more.
    • JMockit - Mocks static, final methods and more.
    • JMockit - Mocks static, final methods and more.
    • JMockit - Mocks static, final methods and more.
    • JMockit - Mocks static, final methods and more.
    • JMockit - Mocks static, final methods and more.
    • JMockit - Mocks static, final methods and more.
    • JMockit - Mocks static, final methods and more.
  • Utility

    • Guava - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
    • JADE - Framework and environment for building and to debugging multi-agent systems.
  • Web Frameworks

    • Grails - Groovy framework with the aim to provide a highly productive environment by favoring convention over configuration, no XML and support for mixins.
    • Pippo - Small, highly modularized Sinatra-like framework.
    • Play - Uses convention over configuration, hot code reloading and display of errors in the browser.
    • Ratpack - Set of libraries that facilitate fast, efficient, evolvable and well tested HTTP applications.
    • PrimeFaces - JSF framework which has a free and a commercial version with support. Provides several frontend components.
  • Communities

    • r/java - Subreddit for the Java community.
  • Frontends

  • Influential Books

  • Podcasts

  • Twitter

    • Adam Bien - Freelancer: Author, JavaONE Rockstar Speaker, Consultant, Java Champion.
    • Aleksey Shipilëv - Performance Geek, Benchmarking Tzar, Concurrency Bug Hunter.
    • Antonio Goncalves - Java Champion, JUG Leader, Devoxx France, Java EE 6/7, JCP, Author.
    • Arun Gupta - Java Champion, JavaOne Rockstar, JUG Leader, Devoxx4Kids-er, VP of Developer Advocacy at Couchbase.
    • Brian Goetz - Java Language Architect at Oracle.
    • Bruno Borges - Product Manager/Java Jock at Oracle.
    • Ed Burns - Consulting Member of the Technical Staff at Oracle.
    • Eugen Paraschiv - Author of the Spring Security Course.
    • James Weaver - Java/JavaFX/IoT developer, author and speaker.
    • Java EE - Official Java EE Twitter account.
    • Java Magazine - Official Java Magazine account.
    • Java - Official Java Twitter account.
    • Javin Paul - Well-known Java blogger.
    • Lukas Eder - Java Champion, speaker, JUG.ch co-leader, Founder and CEO Data Geekery (jOOQ).
    • Mario Fusco - RedHatter, JUG coordinator, frequent speaker and author.
    • Mark Reinhold - Chief Architect, Java Platform Group, Oracle.
    • Markus Eisele - Java EE evangelist, Red Hat.
    • Martijn Verburg - London JUG co-leader, speaker, author, Java Champion and much more.
    • Martin Thompson - Pasty faced performance gangster.
    • OpenJDK - Official OpenJDK account.
    • Peter Lawrey - Peter Lawrey, Java performance expert.
    • Reza Rahman - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker.
    • Simon Maple - Java Champion, virtualJUG founder, LJC leader, RebelLabs author.
    • Stephen Colebourne - Java Champion, speaker.
    • Trisha Gee - Java Champion and speaker.
  • Websites

  • Logging

    • Logback - Robust logging library with interesting configuration options via Groovy.
  • Server

    • Jetty - Lightweight, small server, often embedded in projects.