JPMS Explained Through a C# Analogy

Tomte1 pts0 comments

JPMS Explained Through a C# Analogy : javajump to contentmy subreddits<br>edit subscriptions<br>popular<br>-all<br>-users<br>| AskReddit<br>-pics<br>-funny<br>-movies<br>-gaming<br>-worldnews<br>-news<br>-todayilearned<br>-nottheonion<br>-explainlikeimfive<br>-mildlyinteresting<br>-DIY<br>-videos<br>-OldSchoolCool<br>-TwoXChromosomes<br>-tifu<br>-Music<br>-books<br>-LifeProTips<br>-dataisbeautiful<br>-aww<br>-science<br>-space<br>-Showerthoughts<br>-askscience<br>-Jokes<br>-Art<br>-IAmA<br>-Futurology<br>-sports<br>-UpliftingNews<br>-food<br>-nosleep<br>-creepy<br>-history<br>-gifs<br>-InternetIsBeautiful<br>-GetMotivated<br>-gadgets<br>-announcements<br>-WritingPrompts<br>-philosophy<br>-Documentaries<br>-EarthPorn<br>-photoshopbattles<br>-listentothis<br>-blog

more "

javacomments

Want to join? Log in or sign up in seconds.

limit my search to r/javause the following search parameters to narrow your results:<br>subreddit:subredditfind submissions in "subreddit"author:usernamefind submissions by "username"site:example.comfind submissions from "example.com"url:textsearch for "text" in urlselftext:textsearch for "text" in self post contentsself:yes (or self:no)include (or exclude) self postsnsfw:yes (or nsfw:no)include (or exclude) results marked as NSFWe.g. subreddit:aww site:imgur.com dog<br>see the search faq for details.

advanced search: by author, subreddit...

this post was submitted on 14 Jun 2026<br>0 points (37% upvoted)<br>shortlink:

Submit a new link

Submit a new text post

java<br>joinleaveSubmit Link

Submit Text

Seek Programming Help

News, Technical discussions, research papers and assorted things of interest related to the Java programming language

NO programming help, NO learning Java related questions, NO installing or downloading Java questions, NO JVM languages - Exclusively Java

These have separate subreddits - see below.

Please seek help with Java programming in /r/Javahelp !

Subreddit rules!

Upvote good content, downvote spam, don't pollute the discussion with things that should be settled in the vote count.

Do not post tutorials here! These should go in /r/learnjava .

No programming help questions here! These should be posted in /r/javahelp

No surveys, no job offers! Such content will be removed without warning.

Where should I download Java?

With the introduction of the new release cadence, many have asked where they should download Java, and if it is still free. To be clear, YES — Java is still free.

If you would like to download Java for free, you can get OpenJDK builds from the following vendors, among others:

Adoptium (formerly AdoptOpenJDK)

RedHat

Azul

Amazon

SAP

Liberica JDK

Dragonwell JDK

GraalVM (High performance JIT)

Oracle

Microsoft

Some vendors will be supporting releases for longer than six months. If you have any questions, please do not hesitate to ask them!

Related Sub-reddits:

Programming

Computer Science

CS Career Questions

Learn Programming

Java Help ← Seek help here

Learn Java

Java Conference Videos

Java TIL

Java Examples

JavaFX

Oracle

JVM Languages

Clojure

Scala

Groovy

ColdFusion

Kotlin

Want to practice your coding?

DailyProgrammer

ProgrammingPrompts

ProgramBattles

List of useful Frameworks / Libraries / Software

Awesome Java (GIT)

Java Design Patterns

a community for 18 years

MODERATORS

message the mods

324<br>[PSA]/r/java is not for programming help, learning questions, or installing Java questions

double, BigDecimal, or Fixed-Point?<br>8 &middot; 15 comments<br>New test helper, ExploratoryTestRunner, to test all states of your class<br>3 &middot; 5 comments<br>Infinispan vs Redis for Tomcat HTTP Sessions<br>&middot; 14 comments<br>JPMS Explained Through a C# Analogy<br>0 &middot; 2 comments<br>A plugin for coding agents that is developed in Java<br>29 &middot; 14 comments<br>Telescope - a Java 25 DSL where one chain crosses the record ↔ bean hop<br>174 &middot; 11 comments<br>Major changes to Java since Java 8 by LTS, grouped by Language, Standard Library and JVM<br>16 &middot; 5 comments<br>Spring Modulith 2.1 GA released<br>3 &middot; 4 comments<br>Strictland - contract and compatibility testing for your messages

Welcome to Reddit,<br>the front page of the internet.<br>Become a Redditorand join one of thousands of communities.

&times;

&bull;<br>&bull;<br>&bull;

JPMS Explained Through a C# Analogy (self.java)<br>submitted 1 hour ago by NHarmonia18

A lot of people, even to this day, are still confused about what exactly JPMS is, what problem it solves, and why it was necessary. I will try to explain it as simply as possible, with a similar analogy in C#, to help understand the problem — and the solution.

The problem

Let’s say you have two projects: ProjectA and ProjectB . ProjectB is a consumer of ProjectA, so the dependency chain looks like this:

ProjectB -> Depends On -> ProjectA

You can imagine the directory structure like this:

```text<br>ProjectA<br>└── src/<br>└── main/<br>└── java/<br>├── internal/ (package)<br>│ ├── ClassW.java<br>│ └── ClassX.java<br>└── general/ (package)<br>└── ClassY.java

ProjectB<br>└── src/<br>└── main/<br>└── java/<br>└── consumer/ (package)<br>└── ClassZ.java<br>```

If you stay on the traditional classpath, there is currently no way...

java programming help middot comments questions

Related Articles