# Useful Java Links: A Structured Reference for Java Libraries and Frameworks

> Useful Java Links is a community-maintained curated list of Java frameworks, libraries, and tools organized into eight top-level categories, each entry annotated with license type and GitHub star metadata. It is the right reference for Java developers who want a single organized index covering development, databases, networking, testing, and tooling, but it does not provide install instructions or code examples beyond a separate helloworlds subproject.

**Vedenin/useful-java-links** — A list of useful Java frameworks, libraries, software and hello worlds examples

- Repository: https://github.com/Vedenin/useful-java-links
- Stars: 6,205 · Forks: 1,197
- Language: Java
- License: NOASSERTION
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/vedenin-useful-java-links

## What Useful Java Links Covers and Who It Serves

Useful Java Links is a fork of the awesome-java list by akullpp, extended with a new structure, license annotations, GitHub star counts, and a larger set of entries. The README describes its scope as all non-mobile GitHub projects with 390 or more stars, which sets a floor on what qualifies for inclusion. Below that threshold, a library does not appear regardless of quality.

The repository serves Java developers who are evaluating libraries or frameworks for a new project and want a single place to compare options across categories. Unlike package manager search results, each entry in Useful Java Links includes a short description, the license type, and a GitHub star indicator, so a developer can assess licensing constraints before diving into a project's own documentation.

A Russian-language version of the list lives in the link-rus/ subdirectory, and a separate helloworlds/ subproject provides Hello World code examples for many of the listed libraries.

## How the Repository Is Organized: Eight Top-Level Categories

The README structures the collection into eight numbered sections, each divided into subsections. The organization is consistent and the table of contents links directly to each section.

Section I, Development, is the largest. It covers common frameworks and libraries (including entries for Spring Framework, Google Guava, and Apache Commons), web development, GUI, business, game development, and a long subsection on useful libraries broken into collections, date and time, dependency injection and AOP, console and command line, functional programming, reactive programming, security and authentication, high performance, serialization and I/O, logging, and bean mapping and validation. Additional subsections cover imagery and video, code generation, distributed applications, science, and OSGI.

Section II covers databases, search engines, big data, and machine learning. Subsections include distributed databases, data structures, search engines, client drivers, ORM, working with messy data, big data, and machine learning. The machine learning portion extends into semantic web, NLP, and constraint satisfaction.

Section III covers network and integration: servers, networking, message brokers, HTTP and SSH libraries, REST frameworks, integration frameworks, web crawling and HTML parsing, JSON, CSV, third-party API clients, Bitcoin, cloud SDKs, cluster management, document processing (XLS, DOC, PDF), native bindings, XML and SOAP, geospatial services, and reverse proxies.

Section IV covers testing, code coverage, CI, and formal verification. Section V covers development tools including IDEs, build and deploy tools, performance tools, code analysis, monitoring, runtime class redefinition, and documentation generators.

Section VI lists programming languages and applications written in Java: languages implemented in Java, parser and compiler frameworks, open-source applications, and games. Section VII provides source code examples, benchmark results, and GitHub workflow resources. Section VIII lists communities, influential books, and websites.

## How to Use the Repository: Browsing, the helloworlds Subproject, and Navigation

The primary way to use Useful Java Links is to browse the README directly on GitHub or by cloning the repository. The README's table of contents provides anchor links so readers can jump directly to any category.

For developers who want working code rather than links, the helloworlds/ subdirectory inside the repository holds Hello World examples for many of the listed libraries. Cloning the repository and opening helloworlds/ gives a runnable starting point for testing a library's basic behavior.

The link-rus/ subdirectory holds the Russian-language version of the full list. The contributing.md file at the repository root documents the process for proposing additions.

The list was forked from awesome-java with the goal of adding license and star metadata to every entry. The metadata is visible inline in the README: each entry's description is followed by its license identifier and a star count badge from GitHub shields. For teams with strict license requirements (Apache 2.0, MIT, GPL), this metadata lets developers filter the list by license before reading a library's own documentation.

## What the List Covers and Where It Has Gaps

The 390-star threshold on GitHub determines inclusion, which has a concrete implication: libraries that are excellent but not widely starred (new projects, niche tools, or non-English-language ecosystems) will not appear. The list also focuses on non-mobile projects, so Android-specific libraries are outside scope.

The collection does not include version recommendations, vulnerability history, or activity status for each library. The star count badges reflect a point-in-time snapshot from when the README was last updated, not a live feed. A project that has declined in maintenance since its entry was added will still appear without a warning.

The list does not cover the Spring ecosystem in depth beyond the core Spring Framework entry. Teams that need a comprehensive Spring-specific reference (Spring Boot starters, Spring Cloud components, Spring Data variants) will find the coverage at a higher level than they need.

For the machine learning and AI category, the list covers traditional Java ML libraries such as those in Section II but does not reflect the more recent wave of LLM integration libraries, since those post-date the last active curation period.

## Useful Java Links vs. Awesome Java

Useful Java Links forked from awesome-java (akullpp/awesome-java), and the two share structural similarities. The key differences documented in the README are that Useful Java Links adds license annotations, GitHub star counts, and a larger set of entries based on the 390-star floor.

Awesome Java follows the Awesome list format, which keeps entries brief and relies on external project pages for detail. Useful Java Links adds metadata inline, making license filtering faster within the list itself. Teams with licensing constraints (for example, avoiding GPL in commercial products) can scan the Useful Java Links entries directly rather than visiting each project's repository.

The tradeoff is maintenance: Awesome Java is actively maintained by multiple curators who add, remove, and update entries regularly. Useful Java Links's last push was on 2026-05-08, and the curation cadence is slower. For the most current set of available libraries, Awesome Java is more likely to reflect recent additions to the ecosystem.

## Maintenance Status and License

The last push to Useful Java Links was on 2026-05-08. The repository is not archived. The README does not declare a specific maintenance policy or commit to ongoing curation.

The license file is present at license.md, but the repository's license field is listed as NOASSERTION in package metadata, meaning the machine-readable license identifier is not set in the standard location. Developers who need a specific license for the list itself should review license.md directly.

The helloworlds/ subproject may carry its own licensing for the code examples it contains. The README does not document the license status of individual hello world examples separately from the list entries.

## Conclusion

Useful Java Links suits Java developers who need a broad reference for frameworks and libraries across development, databases, networking, and testing. The helloworlds/ subdirectory provides runnable Hello World examples for many of the listed entries. The last push was on 2026-05-08, and the collection does not include entries below 390 GitHub stars, so niche or very new libraries may be absent.

## FAQ

### What is the minimum GitHub star count for a library to appear in Useful Java Links?

The README states the list includes all non-mobile GitHub projects with 390 or more stars. Libraries below that threshold are not included regardless of their quality or activity.

### Does Useful Java Links include code examples for the libraries it lists?

The main list contains links and descriptions only, not code examples. The helloworlds/ subdirectory inside the repository provides separate Hello World examples for many of the listed libraries.

### How does Useful Java Links differ from a standard awesome-list?

Useful Java Links was forked from awesome-java and adds license type annotations and GitHub star metadata inline for each entry. This allows developers to filter by license directly within the list without visiting each library's repository.

## Sources

- [Issues](https://github.com/Vedenin/useful-java-links/issues)
- [README](https://github.com/Vedenin/useful-java-links/blob/master/README.md)
- [Vedenin/useful-java-links on GitHub](https://github.com/Vedenin/useful-java-links)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/vedenin-useful-java-links
