Java 9 Modulesysteem: Verbeteringen, Link-time en Custom Runtime Images
Java 9 introduceert een nieuw programmeercomponent: module. Een module is een zelfbeschrijvende verzameling code en data met een naam voor identificatie.
Kenmerken
Met het Modules-component zijn de volgende verbeteringen toegevoegd:
Een nieuwe optionele fase, link time, tussen compile time en run time. Tijdens deze fase kan een set modules samengesteld en geoptimaliseerd worden tot een custom runtime image met het
jlink-tool.javac,jlinkenjavahebben extra opties om module-paden op te geven, waarmee moduldefinities gelocaliseerd worden.JAR-formaat bijgewerkt tot modular JAR, wat een
module-info.class-bestand in de root-directory bevat.JMOD-formaat geïntroduceerd: een pakketformaat (vergelijkbaar met JAR) dat native code en configuratiebestanden kan bevatten.
Module aanmaken
Stappen om een module com.tutorialspoint.greetings te maken:
Stap 1
Maak map C:\JAVA\src. Maak daarin map com.tutorialspoint.greetings (deze naam is gelijk aan de modulenaam).
Stap 2
Maak module-info.java in C:\JAVA\src\com.tutorialspoint.greetings met:
module com.tutorialspoint.greetings { }
Deze bestand creëert de module. Conventioneel staat het in de map met de modulenaam.
Stap 3
Voeg broncode toe. Maak Java9Tester.java in C:\JAVA\src\com.tutorialspoint.greetings\com\tutorialspoint\greetings:
package com.tutorialspoint.greetings;
public class Java9Tester {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Stap 4
Maak map C:\JAVA\mods\com.tutorialspoint.greetings. Compileer naar mods-directory:
C:/JAVA> javac -d mods/com.tutorialspoint.greetings src/com.tutorialspoint.greetings/module-info.java src/com.tutorialspoint.greetings/com/tutorialspoint/greetings/Java9Tester.java
Stap 5
Voer de module uit:
C:/JAVA> java --module-path mods -m com.tutorialspoint.greetings/com.tutorialspoint.greetings.Java9Tester
--module-path geeft de modulelocatie aan; -m duidt de hoofdmodule aan.
Uitvoer
Hello World!
Java
- C# using-statements: imports, aliasen en static directives
- Java-operators beheersen: typen, syntax en praktische voorbeelden
- Java Input & Output beheersen: printen, lezen en formatteren
- Java-commentaar: typen, gebruik en best practices
- Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
- Java Strings beheersen: aanmaken, methodes en best practices
- Java interfaces meesteren: concepten, implementatie en best practices
- Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
- Java Try-with-resources meesteren: automatische resource management uitgelegd
- Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
- Java Assertions: een praktische gids voor bugdetectie en codebetrouwbaarheid