Bevor Sie das Ausführen einer Anwendung mit Java-Befehlen erläutern, Werfen wir einen Blick auf die Java-Anwendungen.
Das Folgende ist eine grobe Klassifizierung von Java-Anwendungen. Die Erklärung ist auch grob. Wenn Sie interessiert sind, überprüfen Sie sie bitte selbst.
Der Java-Befehl führt hauptsächlich Konsolen- und Desktop-Apps aus.
Durch Ausführen des Java-Befehls wird eine Java-Anwendung gestartet. Das Java-Tool startet zuerst die JRE und lädt die durch den Befehl angegebene Klasse. Wird innerhalb der Hauptmethode aufgerufen, indem die Hauptmethode der geladenen Klasse aufgerufen wird Die Anwendung wird ausgeführt, während andere Klassen nacheinander geladen werden.
So geben Sie eine Klasse mit einer Hauptmethode an: Sie können die Klasse direkt oder die JAR-Datei angeben.
Die Hauptmethode ist öffentlich und statisch. Als Argument wird ein Array vom Typ String verwendet. Muss eine Methode sein, die erfüllt, dass sie keinen Rückgabewert zurückgibt.
Hauptmethode
public static void main(String[] args) {
//Einige Verarbeitung
}
# java [ options ] class [ argument ... ]
$ java HelloWorld "args1" "args2"
Im obigen Beispiel wird die Hauptmethode der HelloWorld-Klasse aufgerufen und das Argument args der Hauptmethode lautet Ein Array vom Typ String mit "args1" und "args2" wird übergeben.
Um die Klassendatei auszuführen, müssen Sie den vollständig angegebenen Klassennamen angeben. Da das obige Beispiel keine Paketkonfiguration hatte, Es könnte ausgeführt werden, ohne ein Paket anzugeben, aber wenn Sie eine Paketkonfiguration haben Sie müssen den Klassennamen im vollständig angegebenen Paket angeben.
#Das aktuelle Verzeichnis ist/src
# /Hallo Welt mit src als Paketstamm/src/com/example/Wenn es direkt unter der App ist
$ java com.example.app.HelloWorld
Wenn Sie eine JAR-Datei angeben, aus der in der JAR-Datei archivierten Klassendatei Um die Startklasse mit der Hauptmethode zu identifizieren, den Hauptklassen-Header der Manifestdatei Muss eingestellt werden. Für Details hier war der folgende Artikel leicht zu verstehen.
Referenzartikel: Einführung in JAR-Dateien @ hiwm0126
Geben Sie zum Starten der JAR-Datei den Speicherort der JAR-Datei an. (Sowohl absoluter als auch relativer Pfad sind möglich) Wenn Sie eine JAR-Datei für die Startklasse angeben, müssen Sie die Option -jar hinzufügen.
#Das aktuelle Verzeichnis ist/(Wurzel)
# /lib/jars/sample-app.Glas laufen lassen
$ java -jar /lib/jars/sample-app.jar
--- Klassenpfad (oder -cp)
$ java -Dsun.boot.class.path="/sample/path" SampleApp
SampleApp-Klasse
//Wert einstellen "/sample/"Pfad" kann erhalten werden
System.getProperty("sun.boot.class.path");
Diese Option aktiviert oder deaktiviert Java-Zusicherungen. Die Bestätigung ist standardmäßig deaktiviert.
--- Enableassertions (oder -ea):
In der angegebenen Klasse aktiviert.
HotSpot ist ein allgemeiner Begriff für Technologien, die in JVMs integriert sind, um die Verarbeitung zu beschleunigen. Ein Typ von JIT-Compiler (Laufzeit-Compiler), der nur Methoden verwendet, die eine bestimmte Anzahl von Malen oder mehr ausgeführt wurden. Es gibt einen Mechanismus zur Verarbeitungsoptimierung wie das Kompilieren.
HotSpot enthält Java HotSpot Client VM (Client-Version) und Java HotSpot Server VM (Server-Version). Es gibt zwei Typen, von denen jeder die folgenden Eigenschaften aufweist.
--Client-Version Konzentrieren Sie sich auf wichtige Klassen und Methoden zum Kompilieren und betonen Sie das Hochgeschwindigkeitsladen.
Im Folgenden finden Sie Optionen zum Festlegen des zu verwendenden HotSpot.
Java verfügt über einen Mechanismus zur Verwendung anderer Programme als Java. Mit Agenten (JVMTI-Clients) über die Java Virtual Machine Tool Interface (JVMTI) Es kann durch Austausch verwendet werden. Dieser Agent ist eine Vielzahl von Tools, die in anderen Sprachen als Java implementiert sind.
Die folgenden Optionen sind Optionen für die Verwendung dieser nativen Agentenbibliotheken.
--- agentlib:
Lassen Sie uns nun den Beispielcode ausführen.
Im Beispielcode wird "NG" angezeigt, wenn Null oder ein leeres Zeichen übergeben wird. In anderen Fällen werden 3 Verarbeitungsergebnisse der Methode ausgegeben, die die Argumentzeichenfolge zurückgibt. Sie sollten drei Zeilen sehen, "NG", "NG" und "Hallo Welt!".
#Das aktuelle Verzeichnis ist/java-sample/src
$ java -cp /java-sample/lib/commons-lang3-3.10.jar:/java-sample/src com.example.app.UseCommons
#Unten ist das Ausgabeergebnis
NG
NG
Hello World!
Recommended Posts