Java Java

Open-source Java projects categorized as Java | Edit details

Top 23 Java Java Projects

  • GitHub repo JavaGuide

    「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!

  • GitHub repo Design Patterns

    Design patterns implemented in Java

    Project mention: Help with design pattern | | 2022-01-05

    That's an achitecture not a design pattern, if you want to look a some design patterns you can find some here or here .

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • GitHub repo advanced-java

    😮 Core Interview Questions & Answers For Experienced Java(Backend) Developers | 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识

  • GitHub repo Spring Boot

    Spring Boot

    Project mention: Monitoring Spring Boot Applications: Part 1 | | 2022-01-07

    Application monitoring is one thing that we as developers cannot overlook. It doesn’t matter if you run a monolith or microservices application because application monitoring is a must for production workloads to know what’s happening with your application. If you are using Spring Boot, there are different ways to monitor an application. The most popular way to monitor a Spring Boot application is to enable the spring-boot-actuator module to achieve the desired result.

  • GitHub repo Elasticsearch

    Free and Open, Distributed, RESTful Search Engine

    Project mention: Ingest Pipeline with GROK - Looking for "good" documentation | | 2022-01-18
  • GitHub repo interviews

    Everything you need to know to get the job. (by kdn251)

    Project mention: Free Computer Science Resources with Interview Prep and much more... | | 2021-03-29


  • GitHub repo RxJava

    RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

    Project mention: What are the most common used (3rd party) libraries and frameworks used in Android development? | | 2022-01-07

    Concurrency: Kotlin coroutines for general use, Rx or Flow for reactive programming (you can technically use Rx for regular concurrency as well, but not really what it's meant for)

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • GitHub repo Java

    All Algorithms implemented in Java

    Project mention: Ingeniería informática. ¿Alguien me puede hablar de sus experiencias? | | 2022-01-19
  • GitHub repo Guava

    Google core libraries for Java

    Project mention: What are some of your tips for improving the Java development experience? | | 2022-01-11

    • IntelliJ as best IDE. It has many useful plugins and you can shortcut templates for (boilerplate) code. •Lombok for POJO and DTO code generation, though I’ll probably replace this with the new record type along with RecordBuilder • MapStruct for A-to-B mapping code generation • Guava

  • GitHub repo Retrofit

    A type-safe HTTP client for Android and the JVM

    Project mention: What are the most common used (3rd party) libraries and frameworks used in Android development? | | 2022-01-07

    Networking: Retrofit for APIs, OkHttp for HTTP stack

  • GitHub repo MPAndroidChart

    A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.

    Project mention: What are the most common used (3rd party) libraries and frameworks used in Android development? | | 2022-01-07

    MPAndroidChart for charts and graphs

  • GitHub repo ZXing

    ZXing ("Zebra Crossing") barcode scanning library for Java, Android

    Project mention: Ask HN: How are QR scanners written? | | 2021-11-16
  • GitHub repo jadx

    Dex to Java decompiler

    Project mention: APKTool: A tool for reverse engineering Android APK files | | 2022-01-16

    Heh, mine's "after I count to infinity twice" :) I can't remember if I cribbed that from somewhere...

    IIUC, the permissions apps request ultimately just enable access to certain APIs; they don't do anything on their own: (see comments). So apps like and basically reason about the ceiling of everything an app might use across its lifetime. It can be a tad misrepresentative, like a wall of text devoid of formatting can be scary to reason about.

    To make matters worse, the very orthogonal way permissions are categorized relative to internal API architecture is woefully unintuitive at best, making it next to impossible to come up with good summary judgements of what a given app might be trying to do. For example, a given game might want access to your "cell ID information" because the analytics SDK it uses is overly invasive (while the game itself never needs the info), while a smart-device controller app might request "real-time location information" (I forget exactly what the permission is called) just so it can enable Bluetooth (!) to actually connect to your smart whatever.

    So not only is the mapping from policy to implementation a case of a pile of arrows all pointing at each other, the permissions model is really just about enabling access to APIs ahead-of-time so they can be used when needed. Android's trying to go down a just-in-time model where for example something requests access to storage as and when needed; this contextualizes and thus justifies the request, allowing for more informed consent.

    With the ahead-of-time way things work nowadays... I'd be a bit bullish that APKTool on its own would be useful. You're basically in an equivalent situation to wondering why a given Chrome extensions might be asking for a certain permission, only to download the CRX, unzip it, and find everything minified. Intractable? Check. "Now what?": check. Suspicious? Good question :(

    In practice a reasonable number of Chrome extensions incidentally aren't minified and contain perfectly readable source, sometimes even with comments (which is great for figuring out how other developers have solved certain complex integration problems ;D) - but the bytecode-based nature of the Java runtime means you're always working with some level of minification. Control flow is generally always somewhat permuted in much the same way pseudo-decompiled C code doesn't quite look the same as the original. If a given app isn't using obfuscation, you might be able to see some symbol names however.

    Android Studio adds the Proguard obfuscator (which ships for free with 'Studio) into the build instructions of every new project by default, but switched off by default to make builds faster. Once enabled by just changing a couple build settings to "true", obfuscation Just Works™ without any additional steps. Given this state of commoditization it's often a good question whether an app's symbols are available or not.

    JADX ( is generally the tool people mostly use to fight their way through this status quo. Like with IDA, you generally need a very good idea of exactly what you want to do when using it. "Find why this wants all these permissions" is a sadly very open-ended question from this low-level perspective. :(

    FWIW, there are "interestinger" obfuscators that Proguard out there; I once wondered how a random Chinese smart-device companion app worked internally, and found that it shipped with a .so (shared library!)-based obfuscation/protection runtime. Frida ( proved particularly awesome here, as it turned that for all the obfuscation and insanity the runtime brought to the table, it was to hide the application's original .dex files, which it briefly wrote to a temporary location on launch - so that was just a question of winning a race condition in an Android emulator.

    TL;DR: You are sadly fundamentally correct in your gut assumption that this is a generally intractable question to straightforwardly answer. :(

    I think one of the most viable realistic goals in pursuit of ideal privacy is to run all traffic through a captive proxy and install CA certificates on at least all phones to enable MITMing all TLS traffic. I've seen the occasional comment on here by people who have done just that; they just uninstall whatever doesn't cooperate (with certificate pinning etc). I've been wanting to do this myself for quite a while but don't have the hardware to pull it off effectively/seamlessly yet. FWIW, device policy controller apps can install CA certificates and start VPNs without any persistent notifications cluttering up the screen (:D) - and they're surprisingly easy to write.

    If there was a specific angle or takeaway I'd like to focus on here, it's that the ecosystem has organically evolved into a headdesk-inducingly awkward but still so incredibly interesting status quo, that sadly requires a bit of attention-span buy-in to get past all the "...!!! *run away*", but in much the same way that learning about Slackware taught me a tonne about Linux (and sed, incidentally, because it was one of the few things that weren't corrupted on the install CD I used, haha) that I wouldn't have known if I hadn't taken everything apart and gone "ok, now maintain this mess", this provides a great hands-on opportunity to learn about network security. (It's kind of amazing everything fits together (and then disappears!) as well as it does.) I'm looking forward to playing around more when I get the chance.

  • GitHub repo Arthas

    Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas

    Project mention: Best performance monitoring tools? | | 2021-10-25

    Arthas can be pretty useful depending on what you're looking for.

  • GitHub repo spring-boot-demo

    该项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、freemarker(模板引擎)、thymeleaf(模板引擎)、Beetl(模板引擎)、Enjoy(模板引擎)、JdbcTemplate(通用JDBC操作数据库)、JPA(强大的ORM框架)、mybatis(强大的ORM框架)、通用Mapper(快速操作Mybatis)、PageHelper(通用的Mybatis分页插件)、mybatis-plus(快速操作Mybatis)、BeetlSQL(强大的ORM框架)、upload(本地文件上传和七牛云文件上传)、redis(缓存)、ehcache(缓存)、email(发送各种类型邮件)、task(基础定时任务)、quartz(动态管理定时任务)、xxl-job(分布式定时任务)、swagger(API接口管理测试)、security(基于RBAC的动态权限认证)、SpringSession(Session共享)、Zookeeper(结合AOP实现分布式锁)、Ra

  • GitHub repo dbeaver

    Free universal database tool and SQL client

    Project mention: Discussion Thread | | 2022-01-11

    install DBeaver because it's better anyway DBeaver fails to download plugins from server because of outdated SSL certificates "fixed in early access version" install early access version realize it's the same version that was already published not fixed

  • GitHub repo fastjson

    A fast JSON parser/generator for Java.

    Project mention: Ask HN: Differences in Programming Style by Nationalities | | 2021-04-19

    I first noticed a difference in national styles when I contributed a patch to fastjson, a JSON parser in Java from Alibaba.

    Take a look around the repo; it'll look odd to a western programmer. There is a lot of duplication. And the tests don't have names, they are numbered.

    This was several years ago. I did end up choosing it since it really was the fastest.

  • GitHub repo Selenium WebDriver

    A browser automation framework and ecosystem.

    Project mention: AttributeError: 'dict' object has no attribute 'send_keys' | | 2021-12-31

    You may have an old version of chromedriver. See here:

  • GitHub repo easyexcel


    Project mention: Any good alternatives to Apache POI for creating Excel spreadsheets? | | 2021-07-03
  • GitHub repo libGDX

    Desktop/Android/HTML5/iOS Java game development framework

    Project mention: How do I run libgdx with an m1 chip? | | 2021-12-25
  • GitHub repo Exoplayer

    An extensible media player for Android

    Project mention: Is the "black video" issue going to be fixed in a future update? | | 2022-01-02

    If ExoPlayer adds or has added support for it, then it will be fixed when that library is updated.

  • GitHub repo Jenkins

    Jenkins automation server

    Project mention: Why are jobs in the build queue when nodes are available? | | 2022-01-20

    This may fix the issue you are talking about

  • GitHub repo Sentinel

    A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件)

    Project mention: What are some open source applications which have a robust external API calls implementations ? | | 2021-08-24
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-01-20.

Java Java related posts


What are some of the best open-source Java projects in Java? This list will help you:

Project Stars
1 JavaGuide 115,554
2 Design Patterns 72,659
3 advanced-java 59,515
4 Spring Boot 59,206
5 Elasticsearch 58,143
6 interviews 55,701
7 RxJava 45,692
8 Java 43,889
9 Guava 43,470
10 Retrofit 39,334
11 MPAndroidChart 34,532
12 ZXing 28,908
13 jadx 28,795
14 Arthas 28,215
15 spring-boot-demo 24,501
16 dbeaver 24,162
17 fastjson 24,074
18 Selenium WebDriver 22,603
19 easyexcel 22,385
20 libGDX 19,560
21 Exoplayer 18,772
22 Jenkins 18,339
23 Sentinel 18,298
Find remote Java jobs at our new job board There is 1 new remote job listed recently.
Are you hiring? Post a new remote job listing for free.
Less time debugging, more time building
Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.