Java 9 - Modulesysteem
Java 9, een nieuw soort programmeercomponent genaamd module is geïntroduceerd. Een module is een zichzelf beschrijvende verzameling code en gegevens en heeft een naam om deze te identificeren.
Functies
Met de module Modules zijn de volgende verbeteringen toegevoegd in Java 9 −
-
Er wordt een nieuwe optionele fase, koppeltijd, geïntroduceerd. Deze fase bevindt zich tussen de compileertijd en de runtime in. Tijdens deze fase kan een set modules worden geassembleerd en geoptimaliseerd, waardoor een aangepaste runtime-afbeelding wordt gemaakt met behulp van de jlink-tool.
-
javac, jlink en java hebben extra opties om modulepaden op te geven, die de definities van modules verder lokaliseren.
-
JAR-indeling bijgewerkt als modulaire JAR, die het bestand module-info.class in de hoofdmap bevat.
-
JMOD-indeling geïntroduceerd, een verpakkingsindeling (vergelijkbaar met JAR) die native code en configuratiebestanden kan bevatten.
Module maken
Volg de stappen om een module te maken en zeg com.tutorialspoint.greetings.
Stap 1
Maak een map C:\>JAVA\src aan. Maak nu een map com.tutorialspoint.greetings die hetzelfde is als de naam van de module die we maken.
Stap 2
Maak module-info.java aan in de map C:\>JAVA\src\com.tutorialspoint.greetings met de volgende code.
module-info.java
module com.tutorialspoint.greetings { }
module-info.java is het bestand dat wordt gebruikt om een module te maken. In deze stap hebben we een module gemaakt met de naam com.tutorialspoint.greetings. Volgens afspraak zou dit bestand in de map moeten staan waarvan de naam hetzelfde is als de modulenaam.
Stap 3
Voeg de broncode toe in de module. Maak Java9Tester.java aan in de map C:\>JAVA\src\com.tutorialspoint.greetings\com\tutorialspoint\greetings met de volgende code.
Java9Tester.java
package com.tutorialspoint.greetings; public class Java9Tester { public static void main(String[] args) { System.out.println("Hello World!"); } }
Volgens afspraak moet de broncode van een module in dezelfde map liggen als de naam van de module.
Stap 4
Maak een map C:\>JAVA\mods aan. Maak nu een map com.tutorialspoint.greetings aan die hetzelfde is als de naam van de module die we hebben gemaakt. Compileer nu de module naar de mods-map.
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
Laten we de module uitvoeren om het resultaat te zien. Voer de volgende opdracht uit.
C:/>JAVA>java --module-path mods -m com.tutorialspoint.greetings/com.tutorialspoint.greetings.Java9Tester
Hier geeft modulepad de modulelocatie aan als mods en -m geeft de hoofdmodule aan.
Uitvoer
Het zal de volgende uitvoer op de console afdrukken.
Hello World!
Java