-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
article added for review by Himanshu #516
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the draft. I did only a quick scan so far, looking at the structure. Please see my comments. I'll do a deep dive once those comments are addressed.
@@ -0,0 +1,169 @@ | |||
# Java 9 Module System | |||
|
|||
Table of Contents |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove the table of contents, that is auto-generated by the blog from the headers.
@@ -0,0 +1,169 @@ | |||
# Java 9 Module System |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please copy a header from one of the other articles and edit it so it fits to your article.
Also, please add yourself to the data.authors.yml
file ... this should fix the automatic preview (see the link in the "conversation" tab of the pull request).
|
||
Java 9 introduced one of the most important features called a module system that allows us to combine all of our code and packages into a single unit. In this tutorial, we’ll discuss what is this module system. why should we use it and how should we use it? We’ll be looking at the answers to all of these questions. Also, we’ll look at a practical example to add glitters to our understanding, so let’s begin. | ||
|
||
## Introduction <a id='introduction'></a> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No <a>
tags necessary in headers, the blog does that automatically. Please remove.
|
||
## Issues with Previous Java Versions <a id='issues-with-previous-java-versions'></a> | ||
|
||
Before we move to the usage of the module system, first we must know what are the flaws in previous versions of Java that make the Oracle team introduce this feature. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it really the "Oracle team" who did this?
|
||
Now we have all the theoretical knowledge about Java 9 module system let’s get our hands dirty by doing some hands-on. Here we’ll create a mini-project that contains two modules. Here we’ll learn how to import a module and how to export a module. We’ll also learn how we can control the access of the packages which is not possible in Java’s previous versions. | ||
|
||
## Structuring Our Project <a id='structuring-our-project'></a> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be a level three header? Please check this and the headers below this one.
|
||
Below is what our project structure looks like | ||
|
||
![alt text](https://github.com/H11199/module-system-structure/blob/70c7d175c117e04d3e6e6a2b3bbbf9d1e9c5f019/Project-structure.JPG?raw=true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add this image to the pull request in the folder assets/images/posts/<name-of-blog-post>
``` | ||
Our second module now also contains one more module “java.base” that we didn’t add from our side. This java.base module is actually a default module and all modules are linked to it. | ||
|
||
## Conclusion <a id='conclusion'></a> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like two additional sections in this article that talk about these topics:
- How can I create a slimmed-down JDK that includes only the modules of the JDK that I need? (this is the most important aspect of JPMS, in my view) And why would I slim down the JDK?
- Why isn't the module system widely used in application development, yet? (is this because tool support isn't good, yet? I haven't seen it in action, yet ...)
Please read through the writing guide before submitting a pull request and go through this checklist (at least for your first article).
Feel free to raise the pull request even if the checklist hasn't been worked through, yet, to take advantage of the online preview that is generated for each pull request (see "deploy/netlify" under "Show all checks" in your pull request). But please only flag it to be reviewed by your editor after going through the checklist.
Review
Content
Text
code
Structure
Code Examples