Java ist eine plattformunabhängige Programmiersprache / virtuelle Maschine.
In diesem Tutorial werden wir die OpenJDK-Implementierung von Java 8 auf einem Debian 8-Computer (Jessie) sowie den Prozess der Installation von DCEVM (Dynamic Code Evolution VM) installieren - eine Erweiterung, die mithilfe von Hotswap eine unbegrenzte Laufzeit-Neudefinition von Klassen ermöglicht Agent .
Voraussetzungen
- Eine Neuinstallation von Debian 8 (Jessie)
Schritt 1: Hinzufügen von Jessie-Backports zur apt-Konfiguration
Fügen Sie die folgenden Zeilen hinzu /etc/apt/sources.list
# jessie-backports allows newer software to be installed
deb http://http.us.debian.org/debian/ jessie-backports main
deb-src http://http.us.debian.org/debian/ jessie-backports main
Schritt 2: Aktualisieren Sie apt
Aktualisieren Sie apt, um die Pakete mit den Backports zu aktualisieren.
apt-get update
Schritt 3: Installieren Sie Java
Installieren Sie Java aus der Backports-Paketliste.
apt-get install -t jessie-backports openjdk-8-jre openjdk-8-jre-headless
Installieren Sie DCEVM
Bei Bedarf können Sie DCEVM installieren openjdk-8-jre-dcevm , mit dem Java-Code während der Ausführung neu geladen werden kann. Bitte beachten Sie, dass DCEVM nicht erforderlich ist, um Java-Anwendungen auszuführen.
apt-get install openjdk-8-jre-dcevm
Schritt 4: Überprüfen Sie die Installation
Verwenden Sie den folgenden Befehl, um zu überprüfen, ob Java installiert ist:
java -version
Die Ausgabe sollte wie folgt aussehen:
root@debian:~# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~bpo8+1-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
Stellen Sie sicher, dass DCEVM installiert ist
Wenn Sie DCEVM installiert haben, überprüfen Sie die Installation mit dem folgenden Befehl:
java -dcevm -version
Die Ausgabe sollte wie folgt aussehen:
root@debian:~# java -dcevm -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~bpo8+1-b11)
Dynamic Code Evolution 64-Bit Server VM (build 25.71-b01-dcevm-light, mixed mode)
Verwendung von DCEVM
Um DCEVM verwenden zu können, müssen wir den oben genannten Hotswap Agent verwenden. Laden Sie das von Github herunter und führen Sie Ihre .jarAnwendung wie folgt aus:
java -dcevm -javaagent:hotswap-agent-1.1.0-SNAPSHOT.jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:54321 -jar Your.jar
Dadurch wird der Hotswap-Transportport gebunden 127.0.0.1:54321, mit dem ein Entwickler über einen SSH-Tunnel eine Verbindung herstellen kann. Es ist möglich, den Transportport an eine externe IP-Adresse zu binden, dies ist jedoch ein ernstes Sicherheitsrisiko, da es die Ausführung von beliebigem Code ermöglicht. Bitte verwenden Sie die Vultr-Firewall, wenn Sie sich für eine Bindung an eine externe IP-Adresse entscheiden.
Hinweis: In diesem Beispiel wird davon ausgegangen, dass sich die Hotswap Agent-JAR im selben Verzeichnis befindet und benannt ist hotswap-agent-1.1.0-SNAPSHOT.jar.