Browse free open source Java Algorithms and projects below. Use the toggles on the left to filter open source Java Algorithms by OS, license, language, programming language, and project status.

  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Start Free
  • Go from Code to Production URL in Seconds Icon
    Go from Code to Production URL in Seconds

    Cloud Run deploys apps in any language instantly. Scales to zero. Pay only when code runs.

    Skip the Kubernetes configs. Cloud Run handles HTTPS, scaling, and infrastructure automatically. Two million requests free per month.
    Start Free
  • 1
    Technical analysis library with indicators like ADX, MACD, RSI, Stochastic, TRIX... includes also candlestick pattern recognition. Useful for trading application developpers using either Excel, .NET, Mono, Java, Perl or C/C++.
    Leader badge
    Downloads: 6,813 This Week
    Last Update:
    See Project
  • 2
    Arduino

    Arduino

    Open-source electronics platform

    Arduino is an open-source physical computing platform based on a simple I/O board and a development environment that implements the Processing/Wiring language. Arduino can be used to develop stand-alone interactive objects or can be connected to software on your computer (e.g. Flash, Processing and MaxMSP). The boards can be assembled by hand or purchased preassembled. Arduino is a popular tool for IoT product development as well as one of the most successful tools for STEM/STEAM education. Hundreds of thousands of designers, engineers, students, developers and makers around the world are using Arduino to innovate in music, games, toys, smart homes, farming, autonomous vehicles, and more. Arduino is the first widespread Open Source Hardware project and was set up to build a community that could help spread the use of the tool and benefit from contributions from hundreds of people who helped debug the code, write examples, create tutorials, etc.
    Downloads: 91 This Week
    Last Update:
    See Project
  • 3
    JavaBlock
    Free Java Flowchart simulator / interpreter
    Leader badge
    Downloads: 401 This Week
    Last Update:
    See Project
  • 4
    MOA - Massive Online Analysis

    MOA - Massive Online Analysis

    Big Data Stream Analytics Framework.

    A framework for learning from a continuous supply of examples, a data stream. Includes classification, regression, clustering, outlier detection and recommender systems. Related to the WEKA project, also written in Java, while scaling to adaptive large scale machine learning.
    Leader badge
    Downloads: 48 This Week
    Last Update:
    See Project
  • Build Agents and Models on One Platform Icon
    Build Agents and Models on One Platform

    Everything you need to build production-ready agents and models. Access 200+ Google and third-party AI models and tools.

    Gemini Enterprise Agent Platform is Google Cloud's comprehensive platform for developers to build, scale, govern, and optimize agents and models. Choose from Google's most advanced models and third-party models like Anthropic's Claude Model Family.
    Start Free
  • 5
    leetcode-editor

    leetcode-editor

    Do Leetcode exercises in IDE

    Do Leetcode exercises in IDE, support leetcode.com and leetcode-cn.com, to meet the basic needs of doing exercises.Support theoretically: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion GoLand DataGrip Rider MPS Android Studio. The login accounts of the two websites are not interoperable and the corresponding users need to be configured when switching websites. You can also refresh and load questions if you are not logged in, but you cannot submit it. Input the content and press Enter to search , press again to search for the next one. It can only search under the question bank node. Clean up the files in the configured cache directories. The cache directories of the two websites are different and only the current configured websites are cleaned up. Carefully clean up cases without submitting.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 6
    AhoCorasickDoubleArrayTrie

    AhoCorasickDoubleArrayTrie

    An extremely fast implementation of Aho Corasick algorithm

    AhoCorasickDoubleArrayTrie is a Java implementation of the Aho–Corasick multi-pattern matching algorithm that is optimized using a Double-Array Trie data structure. It is designed for fast keyword scanning across large texts, where you want to search for many patterns simultaneously and efficiently. The core idea is to build an automaton from a dictionary of patterns, then stream through input text to emit matches with minimal overhead. By using a double-array trie representation, the project emphasizes performance and memory efficiency compared to simpler pointer-heavy trie structures, which can matter a lot for large dictionaries or latency-sensitive services. This makes it a strong fit for tasks like content filtering, entity/term spotting, dictionary-based annotation, or high-throughput log/text processing. In short, it’s a specialized, speed-focused library for industrial-strength multi-keyword matching in Java.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 7
    Hello Algorithm

    Hello Algorithm

    Animated illustrations, one-click data structure

    Animated illustrations, one-click data structure and algorithm tutorials. This project aims to create an open source, free, novice-friendly introductory tutorial on data structures and algorithms. The whole book uses animated illustrations, the content is clear and easy to understand, and the learning curve is smooth, guiding beginners to explore the knowledge map of data structures and algorithms. The source code can be run with one click, helping readers improve their programming skills during exercises and understand the working principles of algorithms and the underlying implementation of data structures. Readers are encouraged to help each other learn, and questions and comments can usually be answered within two days.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 8
    jFuzzyLogic is a java implementation of a Fuzzy Logic software package. It implements a complete Fuzzy inference system (FIS) as well as Fuzzy Control Logic compliance (FCL) according to IEC 61131-7 (formerly 1131-7).
    Downloads: 37 This Week
    Last Update:
    See Project
  • 9
    Groove
    NOTE: The GROOVE codebase has moved to https://github.com/nl-utwente-groove
    Leader badge
    Downloads: 34 This Week
    Last Update:
    See Project
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 10
    SimMetrics is a Similarity Metric Library, e.g. from edit distance's (Levenshtein, Gotoh, Jaro etc) to other metrics, (e.g Soundex, Chapman). Work provided by UK Sheffield University funded by (AKT) an IRC sponsored by EPSRC, grant number GR/N15764/01.
    Downloads: 17 This Week
    Last Update:
    See Project
  • 11
    PLEASE NOTE that we are in the process of moving to GitHub: https://github.com/jasypt/jasypt Jasypt (Java Simplified Encryption) is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography works. PLEASE NOTE that we are in the process of moving to GitHub: https://github.com/jasypt/jasypt
    Downloads: 21 This Week
    Last Update:
    See Project
  • 12
    JCTools

    JCTools

    Java Concurrency Tools for the JVM

    Java Concurrency Tools for the JVM. This project aims to offer some concurrent data structures currently missing from the JDK. There’s more to come and contributions/suggestions are most welcome. JCTools has enjoyed support from the community and contributions in the form of issues/tests/documentation/code have helped it grow. JCTools offers excellent performance at a reasonable price (FREE! under the Apache 2.0 License). It’s stable and in use by such distinguished frameworks as Netty, RxJava and others. JCTools is also used by commercial products with great results. JCTools is maven built and requires an existing Maven installation and JDK8 (only for building, runtime is 1.6 compliant). With ‘MAVEN_HOME/bin’ on the path and JDK8 set to your ‘JAVA_HOME’ you should be able to run “mvn install” from this directory. While you are free to copy & extend JCTools, we would much prefer it if you have a versioned dependency on JCTools to enable better support, upgrade paths and discussion.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 13
    java-string-similarity

    java-string-similarity

    Implementation of various string similarity and distance algorithms

    Implementation of various string similarity and distance algorithms: Levenshtein, Jaro-winkler, n-Gram, Q-Gram, Jaccard index, Longest Common Subsequence edit distance, cosine similarity. A library implementing different string similarity and distance measures. A dozen of algorithms (including Levenshtein edit distance and sibblings, Jaro-Winkler, Longest Common Subsequence, cosine similarity etc.) are currently implemented. The main characteristics of each implemented algorithm are presented below. The "cost" column gives an estimation of the computational cost to compute the similarity between two strings of length m and n respectively. If the alphabet is finite, it is possible to use the method of four russians (Arlazarov et al. "On economic construction of the transitive closure of a directed graph", 1970) to speedup computation. This was published by Masek in 1980 ("A Faster Algorithm Computing String Edit Distances").
    Downloads: 3 This Week
    Last Update:
    See Project
  • 14
    This project has moved. Please follow the WWW link below.
    Downloads: 63 This Week
    Last Update:
    See Project
  • 15
    An open source workbench for chemo- and bioinformatics built on the Eclipse Rich Client Platform (RCP).
    Downloads: 21 This Week
    Last Update:
    See Project
  • 16
    basE91 is an advanced method for encoding binary data as ASCII characters. It is similar to UUencode or base64, but is more efficient. The overhead produced by basE91 depends on the input data. It amounts at most to 23% and can range down to 14%.
    Leader badge
    Downloads: 45 This Week
    Last Update:
    See Project
  • 17
    jMetal
    jMetal is an object-oriented Java-based framework for solving multi-objective optimization problems with metaheuristics.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 18
    Java Machine Learning Library is a library of machine learning algorithms and related datasets. Machine learning techniques include: clustering, classification, feature selection, regression, data pre-processing, ensemble learning, voting, ...
    Downloads: 30 This Week
    Last Update:
    See Project
  • 19
    McuOnEclipse

    McuOnEclipse

    Releases of McuOnEclipse projects

    Processor Expert components and Eclipse examples and plugins.
    Downloads: 27 This Week
    Last Update:
    See Project
  • 20
    X's Recommendation Algorithm

    X's Recommendation Algorithm

    Source code for the X Recommendation Algorithm

    The Algorithm is Twitter’s open source release of the core ranking system that powers the platform’s home timeline. It provides transparency into how tweets are selected, prioritized, and surfaced to users, reflecting Twitter’s move toward openness in recommendation algorithms. The repository contains the recommendation pipeline, which incorporates signals such as engagement, relevance, and content features, and demonstrates how they combine to form ranked outputs. Written primarily in Scala, it shows the architecture of large-scale recommendation systems, including candidate sourcing, ranking, and heuristics. While certain components (such as safety layers, spam detection, or private data) are excluded, the release provides valuable insights into the design of real-world machine learning–driven ranking systems. The project is intended as a reference for researchers, developers, and the public to study, experiment with, and better understand the mechanisms behind social media content.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 21
    The JTS Topology Suite is an API for modelling and manipulating 2-dimensional linear geometry. It provides numerous geometric predicates and functions. JTS conforms to the Simple Features Specification for SQL published by the Open GIS Consortium.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 22
    NaruGo is game AI project. Current targets are GO board game and Texas Holdem poker. It investigates Genetic programming to build game AI logic. Also EA/GP simulations for TSP, Graph layout and Prisoners Dilemma problem.
    Downloads: 13 This Week
    Last Update:
    See Project
  • 23
    Java·Applied·Geodesy·3D

    Java·Applied·Geodesy·3D

    Least-Squares Adjustment Software for Geodetic Sciences

    JAG3D is no longer developed at source-forge, and has moved to GitHub. Please visit https://github.com/applied-geodesy/jag3d or https://software.applied-geodesy.org to get the latest version.
    Downloads: 23 This Week
    Last Update:
    See Project
  • 24
    The Distributed Genetic Programming Framework is a scalable Java genetic programming environment. It comes with an optional specialization for evolving assembler-syntax algorithms. The evolution can be performed in parallel in any computer network.
    Downloads: 21 This Week
    Last Update:
    See Project
  • 25
    JoSQL (Java Objects SQL) provides SQL capabilities for querying, ordering and grouping of collections of Java objects (POJOs). It allows a SQL statement to be applied to the collection of objects and the matching set returned, ordered and grouped.
    Downloads: 9 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next