Heim > Java > javaLernprogramm > Wie können wir in Java 9 alle Module anzeigen, die über Klassenlader verfügen?

Wie können wir in Java 9 alle Module anzeigen, die über Klassenlader verfügen?

PHPz
Freigeben: 2023-08-19 20:09:08
nach vorne
1386 Leute haben es durchsucht

在Java 9中,我们如何显示所有具有类加载器的模块呢?

Vor Java 9 waren die Erweiterung und der Anwendungsklassenlader eine Instanz der Klasse java.net.URLClassLoader. In Java 9 hat sich die Klassifizierung von Klassenladern geändert. Anstelle eines externen Klassenladers gibt es den Plattform-Klassenlader. Der Zweck der Verwendung des Plattform-Klassenladers besteht darin, dass vom „Bootstrap-Klassenlader“ geladene Klassen standardmäßig über alle Berechtigungen verfügen. Im folgenden Beispiel können wir alle Module mit Klassenladern anzeigen. Beispiel:

import static java.util.Objects.isNull;

public class Java9ClassLoaderTest {
   public static void main(String args[]) {
<strong>      ModuleLayer </strong>layer = <strong>ModuleLayer.boot()</strong>;
      layer.modules().forEach(module -> {
<strong>         ClassLoader </strong>classLoader = module.<strong>getClassLoader()</strong>;
         String classLoaderName = <strong>isNull</strong>(classLoader) ? "bootstrap" : classLoader.<strong>getName()</strong>;
         System.out.println(classLoaderName + ": " + module.<strong>getName()</strong>);
      });
   }
}
Nach dem Login kopieren
输出
<strong>app: jdk.internal.ed
platform: jdk.scripting.nashorn
platform: java.compiler
platform: java.security.jgss
platform: jdk.plugin.dom
bootstrap: jdk.net
bootstrap: java.management
app: jdk.jdeps
platform: javafx.base
app: jdk.editpad
bootstrap: java.security.sasl
platform: java.sql.rowset
bootstrap: java.datatransfer
app: jdk.compiler
platform: java.scripting
platform: jdk.naming.dns
platform: jdk.crypto.mscapi
bootstrap: java.xml
platform: jdk.localedata
platform: javafx.swing
bootstrap: jdk.unsupported
platform: jdk.plugin
bootstrap: jdk.snmp
bootstrap: jdk.naming.rmi
app: jdk.internal.le
platform: javafx.web
platform: jdk.dynalink
platform: jdk.accessibility
bootstrap: java.rmi
platform: jdk.jsobject
platform: java.sql
app: jdk.attach
bootstrap: jdk.management.cmm
platform: jdk.security.auth
platform: java.xml.crypto
bootstrap: jdk.jfr
bootstrap: jdk.management.jfr
platform: jdk.security.jgss
app: jdk.packager.services
bootstrap: java.base
app: jdk.internal.opt
bootstrap: java.prefs
bootstrap: java.management.rmi
platform: jdk.zipfs
platform: java.jnlp
app: jdk.packager
platform: oracle.net
app: jdk.jlink
bootstrap: jdk.management.agent
bootstrap: java.logging
app: jdk.jdi
app: jdk.jstatd
platform: java.se
app: jdk.javadoc
platform: jdk.charsets
platform: java.smartcardio
app: jdk.jconsole
bootstrap: jdk.sctp
platform: javafx.graphics
bootstrap: jdk.management.resource
app: jdk.jdwp.agent
app: jdk.internal.jvmstat
platform: javafx.controls
platform: jdk.crypto.cryptoki
platform: javafx.media
bootstrap: jdk.httpserver
platform: oracle.desktop
bootstrap: java.naming
app: jdk.jshell
app: jdk.jartool
platform: jdk.deploy
bootstrap: java.desktop
platform: javafx.fxml
bootstrap: java.instrument
platform: jdk.crypto.ec
bootstrap: jdk.management
platform: jdk.xml.dom
platform: jdk.javaws</strong>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie können wir in Java 9 alle Module anzeigen, die über Klassenlader verfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage