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 · 15 comments<br>New test helper, ExploratoryTestRunner, to test all states of your class<br>3 · 5 comments<br>Infinispan vs Redis for Tomcat HTTP Sessions<br>· 14 comments<br>JPMS Explained Through a C# Analogy<br>0 · 2 comments<br>A plugin for coding agents that is developed in Java<br>29 · 14 comments<br>Telescope - a Java 25 DSL where one chain crosses the record ↔ bean hop<br>174 · 11 comments<br>Major changes to Java since Java 8 by LTS, grouped by Language, Standard Library and JVM<br>16 · 5 comments<br>Spring Modulith 2.1 GA released<br>3 · 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.
×
•<br>•<br>•
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...