10 repos
Awesome Java GitHub repositories
We curate 10 open-source Java repositories. AI-ranked by relevance — refine with filters, or browse the highest-voted projects in the community.
Awesome Java GitHub repositories
- Snailclimb/JavaGuide
Snailclimb/JavaGuide
153,828This project is a comprehensive educational repository providing technical documentation and learning materials across a wide range of computer science and software engineering domains. It serves as a centralized knowledge base for developers, covering core programming concepts, database management, distributed systems, and system design principles. The content spans fundamental Java programming, including collection frameworks and runtime environments, alongside deep dives into web communication protocols and browser internals. It also provides extensive resources on database internals, such as storage engines and indexing strategies, and distributed system theory, including consensus algorithms and coordination services. Additionally, the repository includes practical guides for modern technology stacks, such as artificial intelligence frameworks, retrieval-augmented generation techniques, and API gateway architectures. The documentation is structured as a collection of technical explanations and conceptual comparisons designed to assist in understanding complex engineering topics.
Javaalgorithmsdistributed-systemsinterview - GrowingGit/GitHub-Chinese-Top-Charts
GrowingGit/GitHub-Chinese-Top-Charts
106,216This project functions as a curated software directory and developer resource index, providing a centralized platform for discovering and evaluating high-quality open-source repositories. It serves as an aggregator that monitors trending software and educational resources, organizing them by technical domain and programming language to assist developers in identifying tools for their specific technical challenges. The directory distinguishes itself through a community-driven curation workflow, where repository lists are validated and updated based on collective developer consensus. This information is maintained within structured, human-readable markdown files, ensuring that the evolution of the index remains transparent through version-controlled change tracking. To maintain accuracy, the platform utilizes automated data aggregation to fetch real-time metadata and contributor statistics directly from remote service endpoints. Beyond simple discovery, the platform supports analytical research into open-source ecosystems. Users can evaluate the maintenance status and reliability of projects by researching contributor activity, analyzing technical stacks, and monitoring project lifecycles through versioned releases and changelogs. These capabilities facilitate informed decisions regarding software integration and dependency management.
Java - iluwatar/java-design-patterns
iluwatar/java-design-patterns
93,757This project is a comprehensive educational knowledge base designed to help developers master software engineering excellence through a structured catalog of design patterns and architectural principles. It provides a curated repository of best practices, programming heuristics, and implementation examples, all organized to facilitate skill acquisition and improve code quality in Java. The repository distinguishes itself by offering a navigable hierarchy of reusable design patterns and architectural strategies that promote interface-centric design and decoupled implementation. By emphasizing clean code standards and established design heuristics, it serves as a reference-based resource for understanding how to build maintainable, modular, and robust object-oriented systems. Beyond its core architectural focus, the project includes a broad library of functional code snippets and algorithmic implementations. These resources cover a wide range of common programming challenges, including data structures, mathematical computations, file operations, and utility tasks, providing practical, stateless examples that demonstrate idiomatic coding standards.
Javaawesome-listdesign-patternshacktoberfest - macrozheng/mall
macrozheng/mall
82,926This project is an enterprise-grade Java framework designed for building scalable, full-stack e-commerce applications. It provides a comprehensive foundation for microservice-based distributed architectures, enabling the development of complex retail platforms that include product management, order processing, and secure user authentication. By leveraging modular service patterns and centralized API gateways, the framework supports the construction of resilient systems that decompose monolithic business logic into independent, manageable services. The platform distinguishes itself through a robust suite of infrastructure and operational tools that facilitate high-scale deployments. It features integrated support for container-orchestrated environments, event-driven message brokering, and centralized security via token-based authentication. To ensure operational visibility, the framework includes a centralized log aggregation pipeline, real-time health monitoring, and distributed system observability, allowing teams to maintain stability across complex service boundaries. Beyond its core architecture, the platform offers extensive developer tooling and data management capabilities. It supports advanced database operations, including read-write splitting, query routing, and data synchronization, alongside integration with distributed search engines and object storage systems. The development environment is further enhanced by utilities for code quality enforcement, automated entity generation, dependency management, and architectural visualization, providing a complete ecosystem for the lifecycle of enterprise-grade web applications.
Javadockerelasticsearchelk - spring-projects/spring-boot
spring-projects/spring-boot
80,046Spring Boot is an opinionated application framework designed to streamline the creation of production-ready services. It functions as a comprehensive development platform that utilizes a centralized dependency injection container to manage object lifecycles and wiring. By employing convention-over-configuration, the framework automates the instantiation of components based on the presence of specific libraries and configuration properties, significantly reducing the need for manual setup. The framework distinguishes itself by bundling the application and its web server into a single, self-contained executable archive. This approach eliminates the requirement for external application server deployments, allowing services to run as standalone artifacts. To support operational needs, it includes a production readiness suite that provides standardized endpoints for monitoring application state, performance metrics, and health checks, alongside a centralized system for managing compatible library versions. Beyond its core execution model, the project provides tools for externalizing configuration, mapping environment variables and property files into type-safe objects for consistent behavior across environments. It integrates security protocols for authentication and authorization, facilitating the development of scalable backend systems optimized for containerized and distributed infrastructure.
Javaframeworkjavaspring - MisterBooo/LeetCodeAnimation
MisterBooo/LeetCodeAnimation
76,717LeetCodeAnimation is an educational code archive and technical interview resource designed to help developers master complex programming concepts. It functions as a centralized repository of source code and instructional materials, providing a structured environment for self-paced learning of fundamental computer science algorithms and data structures. The project distinguishes itself by integrating visual algorithm simulations directly into its learning path. By mapping static educational content to animated media files, it demonstrates the step-by-step execution flow and internal state changes of sorting logic and data structures. This approach bridges the gap between abstract theoretical concepts and practical, executable code implementations. The repository utilizes cross-referenced indexing and markdown-based documentation to organize its knowledge base. It aggregates technical explanations and code samples into a unified structure, allowing users to navigate between problem identifiers, descriptive articles, and visual assets to support their preparation for technical assessments.
Javaanimationleetcodeleetcode-c - elastic/elasticsearch
elastic/elasticsearch
76,163Elasticsearch is a distributed search engine and document store designed for the high-performance indexing and retrieval of massive volumes of unstructured data. It functions as a centralized analytics platform, providing a schema-flexible architecture that organizes information into searchable indices while maintaining global cluster state through a distributed consensus mechanism. The platform distinguishes itself through its integrated approach to observability, security, and advanced analytics. It combines full-text, vector, and hybrid search capabilities with machine learning-driven insights, allowing users to perform complex statistical aggregations, geospatial analysis, and automated anomaly detection. Its storage architecture supports multi-tier data lifecycles, enabling efficient data placement across hot, warm, and cold nodes to balance performance with long-term retention requirements. Beyond core search and storage, the system provides comprehensive observability tools for centralized log analysis, application performance monitoring, and infrastructure health diagnostics. It includes built-in security operations for threat detection and endpoint protection, all managed through a unified RESTful API gateway. The system is accessible via standardized REST APIs for cluster management, data ingestion, and query execution. Extensive documentation is available to guide users through API references for search, indexing, security, and cluster administration.
Javaelasticsearchjavasearch-engine - TheAlgorithms/Java
TheAlgorithms/Java
65,078This project is an educational repository containing a comprehensive collection of classic computer science algorithms and data structures implemented in Java. It serves as a community-driven learning resource designed to help students and developers study fundamental computational problems and practice idiomatic syntax through clean, well-documented code examples. The repository distinguishes itself by using decoupled logic encapsulation, which isolates individual algorithmic implementations into independent classes to ensure modularity. It further enforces standardized method signatures across categories, allowing for the interchangeable usage of different algorithms while maintaining a consistent structure for academic study and technical interview preparation. The codebase is organized into a hierarchical directory structure that categorizes algorithms and data structures for navigation. It follows professional software engineering practices, utilizing stateless utility classes to provide direct access to functions without requiring object instantiation. The project relies on the standard Java Virtual Machine for execution, requiring no external dependencies or complex configuration.
Javaalgorithmalgorithm-challengesalgorithms - kdn251/interviews
kdn251/interviews
64,945This project serves as a centralized knowledge base and study guide for mastering computer science fundamentals and technical interview preparation. It provides a structured collection of algorithmic implementations, data structure guides, and theoretical references designed to support professional development and problem-solving skills. The repository distinguishes itself through a taxonomy-based organization that maps complex concepts into a hierarchical structure. It standardizes the expression of abstract data structures and algorithms using a consistent programming language, with implementations organized into a file system hierarchy that mirrors their logical classification. This approach enables users to navigate between specific coding challenges and the underlying theoretical principles. Beyond its core implementations, the project aggregates a wide range of educational assets, including links to external practice platforms, academic video lecture series, and foundational textbooks. It incorporates asymptotic complexity modeling to define performance bounds, allowing for objective comparisons of computational efficiency across various sorting, searching, and graph-based algorithms.
Javaalgorithmalgorithm-challengesalgorithm-competitions - NationalSecurityAgency/ghidra
NationalSecurityAgency/ghidra
64,794Ghidra is a software reverse engineering suite designed to analyze compiled binaries and reconstruct program logic without access to original source code. It provides an interactive environment for disassembly and decompilation, utilizing a platform-independent intermediate representation to maintain consistency across diverse hardware architectures. The framework supports automated binary analysis through programmatic routines, enabling the investigation of complex code patterns and security indicators. The platform distinguishes itself through a modular architecture that allows for extensive customization. Users can define new processor instruction sets using a dedicated specification language, ensuring support for unique hardware without requiring recompilation. Collaborative analysis is facilitated by a database-backed storage system, while a headless execution mode enables the processing of large binary sets via command-line scripts. The suite includes tools for malware analysis and software vulnerability research, providing capabilities for visual navigation of control flow and the development of custom plugins. Developers can extend the core functionality by injecting specialized analysis routines or user interface components through a standardized discovery mechanism. The project provides comprehensive documentation and build tasks to support the configuration of development workspaces for those contributing to the underlying architecture.
Javadisassemblerreverse-engineeringsoftware-analysis