diff --git a/README.md b/README.md index 9f6c9c9..2db92b0 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Dependency Injection](#dependency-injection) - [Development](#development) - [Distributed Applications](#distributed-applications) - - [Distributed Databases](#distributed-databases) - [Distribution](#distribution) - [Document Processing](#document-processing) - [Formal Verification](#formal-verification) @@ -135,6 +134,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Caffeine](https://github.com/ben-manes/caffeine) - High-performance, near-optimal caching library. * [Ehcache](http://www.ehcache.org/) - Distributed general-purpose cache. +* [Infinispan](http://infinispan.org/) - Highly concurrent key/value datastore used for caching. ## Cluster Management @@ -151,6 +151,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Checkstyle](https://github.com/checkstyle/checkstyle) - Static analysis of coding conventions and standards. * [Error Prone](https://github.com/google/error-prone) - Catches common programming mistakes as compile-time errors. * [FindBugs](http://findbugs.sourceforge.net/) - Static analysis of bytecode to find potential bugs. +* [Infer](https://github.com/facebook/infer) - Modern static analysis tool for verifying the correctness of code. * [jQAssistant](http://jqassistant.org/) - Static code analysis with Neo4J-based query language. * [PMD](https://github.com/pmd/pmd) - Source code analysis for finding bad coding practices. * [Spoon](https://github.com/INRIA/spoon/) - Library for analyzing and transforming Java source code. @@ -174,6 +175,7 @@ A curated list of awesome Java frameworks, libraries and software. * [JHipster](https://github.com/jhipster/generator-jhipster) - Yeoman source code generator for Spring Boot and AngularJS. * [Joda-Beans](http://www.joda.org/joda-beans/) - Small framework that adds queryable properties to Java, enhancing JavaBeans. * [Lombok](https://projectlombok.org/) - Code generator that aims to reduce verbosity. +* [JavaPoet](https://github.com/square/javapoet) - API to generate source files. ## Command-line Argument Parsers @@ -213,6 +215,7 @@ A curated list of awesome Java frameworks, libraries and software. *Frameworks and libraries that simplify reading/writing CSV data.* +* [Apache Commons CSV](https://github.com/apache/commons-csv) - Provides a simple interface for reading and writing CSV files of various types. * [jackson-dataformat-csv](https://github.com/FasterXML/jackson-dataformat-csv) - Jackson extension for reading and writing CSV. * [opencsv](http://opencsv.sourceforge.net) - Simple CSV parser. * [Super CSV](http://super-csv.github.io/super-csv/) - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. @@ -222,7 +225,6 @@ A curated list of awesome Java frameworks, libraries and software. *Everything that simplifies interactions with the database.* -* [Apache Hive](https://hive.apache.org/) - Data warehouse infrastructure built on top of Hadoop. * [Apache Phoenix](http://phoenix.apache.org/) - High-performance relational database layer over HBase for low-latency applications. * [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map) - Efficient, in-memory (opt. persisted to disk), off-heap key-value store. * [eXist](https://github.com/eXist-db/exist) - A NoSQL document database and application platform. @@ -233,10 +235,12 @@ A curated list of awesome Java frameworks, libraries and software. * [JDBI](http://jdbi.org/) - Convenient abstraction of JDBC. * [Jedis](https://github.com/xetorthio/jedis) - A small client for interaction with Redis, with methods for commands. * [jetcd](https://github.com/justinsb/jetcd) - A client library for etcd. +* [Jinq](https://github.com/my2iu/Jinq) - Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ). * [jOOQ](http://www.jooq.org/) - Generates typesafe code based on SQL schema. * [Liquibase](http://www.liquibase.org/) - Database-independent library for tracking, managing and applying database schema changes. * [MapDB](http://www.mapdb.org/) - Embedded database engine that provides concurrent collections backed on disk or in off-heap memory. * [MariaDB4j](https://github.com/vorburger/MariaDB4j/) - Launcher for MariaDB that requires no installation or external dependencies. +* [OrientDB](https://orientdb.com/orientdb/) - Embeddable distributed database written on top of Hazelcast. * [Presto](https://github.com/prestodb/presto) - Distributed SQL query engine for big data. * [Querydsl](http://www.querydsl.com/) - Typesafe unified queries. * [Realm](https://github.com/realm/realm-java) - Mobile database to run directly inside phones, tablets or wearables. @@ -245,6 +249,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. * [sql2o](http://sql2o.org/) - Thin JDBC wrapper that simplifies database access and provides simple mapping of ResultSets to POJOs. * [Vibur DBCP](http://www.vibur.org/) - JDBC connection pool library with advanced performance monitoring capabilities. +* [Xodus](http://jetbrains.github.io/xodus/) - Highly concurrent transactional schema-less and ACID-compliant embedded database. ## Data Structures @@ -306,11 +311,13 @@ A curated list of awesome Java frameworks, libraries and software. * [Axon Framework](http://www.axonframework.org/) - Framework for creating CQRS applications. * [Copycat](http://atomix.io/copycat/) - Fault-tolerant state machine replication framework. * [Dropwizard Circuit Breaker](https://github.com/mtakaki/dropwizard-circuitbreaker) - Circuit breaker design pattern for Dropwizard. +* [Failsafe](https://github.com/jhalterman/failsafe) - Simple failure handling with retries and circuit breakers. * [Hazelcast ![c]](http://hazelcast.org/) - Highly scalable in-memory datagrid with a free open-source version. * [Hystrix](https://github.com/Netflix/Hystrix) - Provides latency and fault tolerance. * [JGroups](http://www.jgroups.org/) - Toolkit for reliable messaging and cluster creation. * [Orbit](http://www.orbit.cloud/) - Virtual actors; adds another level of abstraction to traditional actors. * [Quasar](http://www.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. +* [resilience4j](https://github.com/resilience4j/resilience4j) - Functional fault tolerance library. * [Zuul](https://github.com/Netflix/zuul) - A gateway service that provides dynamic routing, monitoring, resiliency, security, and more. ## Distributed Databases @@ -458,7 +465,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Gson](https://github.com/google/gson) - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage. * [HikariJSON](https://github.com/brettwooldridge/HikariJSON) - High-performance JSON parser, 2x faster than Jackson. * [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. -* [Jackson](http://wiki.fasterxml.com/JacksonHome) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. +* [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. * [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. * [jsoniter](http://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. * [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. @@ -598,6 +605,7 @@ A curated list of awesome Java frameworks, libraries and software. * [CoreNLP](http://nlp.stanford.edu/software/corenlp.shtml) - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. * [DKPro](https://dkpro.github.io/) - Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc. * [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for tasks ranging from POS tagging to sentiment analysis. +* [CogCompNLP](https://github.com/CogComp/cogcomp-nlp) - Provides common annotators for plain text input. ## Networking @@ -862,6 +870,7 @@ A curated list of awesome Java frameworks, libraries and software. - [Awesome Gradle Plugins](https://github.com/ksoichiro/awesome-gradle) - [Awesome JVM](https://github.com/deephacks/awesome-jvm) +- [Awesome Microservices](https://github.com/mfornos/awesome-microservices) - [Awesome REST](https://github.com/marmelab/awesome-rest) - [ciandcd](https://github.com/ciandcd/awesome-ciandcd) - [Useful Java Links](https://github.com/Vedenin/useful-java-links) @@ -909,25 +918,32 @@ A curated list of awesome Java frameworks, libraries and software. * [Arun Gupta](https://twitter.com/arungupta/) - Java Champion, JavaOne Rockstar, JUG Leader, Devoxx4Kids-er, VP of Developer Advocacy at Couchbase. * [Brian Goetz](https://twitter.com/BrianGoetz) - Java Language Architect at Oracle. * [Bruno Borges](https://twitter.com/brunoborges) - Product Manager/Java Jock at Oracle. +* [Chris Richardson](https://twitter.com/crichardson) - Software architect, consultant, and serial entrepreneur, Java Champion, JavaOne Rock Star, *POJOs in Action* author. * [Ed Burns](https://twitter.com/edburns) - Consulting Member of the Technical Staff at Oracle. * [Eugen Paraschiv](https://twitter.com/baeldung) - Author of the Spring Security Course. +* [Holly Cummins](https://twitter.com/holly_cummins) - Technical Lead of IBM London's Bluemix Garage, Java Champion, developer, author, JavaOne rockstar. * [James Weaver](https://twitter.com/JavaFXpert) - Java/JavaFX/IoT developer, author and speaker. * [Java EE](https://twitter.com/Java_EE/) - Official Java EE Twitter account. * [Java Magazine](https://twitter.com/Oraclejavamag) - Official Java Magazine account. * [Java](https://twitter.com/java/) - Official Java Twitter account. * [Javin Paul](https://twitter.com/javinpaul) - Well-known Java blogger. -* [Lukas Eder](https://twitter.com/lukaseder) - Java Champion, speaker, JUG.ch co-leader, founder and CEO of Data Geekery (jOOQ). +* [Josh Long](https://twitter.com/starbuxman) - Spring Advocate at Pivotal, author of O'Reilly's *Cloud Native Java* and *Building Microservices with Spring Boot*, JavaOne Rock Star. +* [Lukas Eder](https://twitter.com/lukaseder) - Java Champion, speaker, JUG.ch co-leader, Founder and CEO Data Geekery (jOOQ). * [Mario Fusco](https://twitter.com/mariofusco) - RedHatter, JUG coordinator, frequent speaker and author. -* [Mark Reinhold](https://twitter.com/mreinhold) - Chief Architect of Oracle's Java Platform Group. +* [Mark Heckler](https://twitter.com/MkHeck) - Pivotal Principal Technologist and Developer Advocate, conference speaker, published author, and Java Champion, focusing on Internet of Things and the cloud. +* [Mark Reinhold](https://twitter.com/mreinhold) - Chief Architect, Java Platform Group, Oracle. * [Markus Eisele](https://twitter.com/myfear) - Java EE evangelist, Red Hat. * [Martijn Verburg](https://twitter.com/karianna) - London JUG co-leader, speaker, author, Java Champion and much more. -* [Martin Thompson](https://twitter.com/mjpt777) - Pasty-faced performance gangster. +* [Martin Thompson](https://twitter.com/mjpt777) - Pasty faced performance gangster. +* [Monica Beckwith](https://twitter.com/mon_beck) - Performance consultant, JavaOne Rock Star. * [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. -* [Peter Lawrey](https://twitter.com/PeterLawrey) - Java performance expert. +* [Peter Lawrey](https://twitter.com/PeterLawrey) - Peter Lawrey, Java performance expert. +* [Randy Shoup](https://twitter.com/randyshoup) - Stitch Fix VP Engineering, speaker, JavaOne Rock Star. * [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. * [Simon Maple](https://twitter.com/sjmaple) - Java Champion, VirtualJUG founder, LJC leader, RebelLabs author. * [Stephen Colebourne](https://twitter.com/jodastephen) - Java Champion, speaker. * [Trisha Gee](https://twitter.com/trisha_gee) - Java Champion and speaker. +* [Venkat Subramaniam](https://twitter.com/venkat_s) - Author, University of Houston professor, MicroSoft MVP award recipient, JavaOne Rock Star, Java Champion. ## Websites