[JAVA] Ein kurzer Hinweis zur Verwendung von jshell mit dem offiziellen Docker-Image des JDK

Nutzen Sie das offizielle Java Docker-Image

Zu diesem Zeitpunkt ist es einfacher, das Docker-Image von JVM zu verwenden.

$ cat Hoge.java 
public class Moge {
  public static void main(String[] args) {
	System.out.println("hoge");
  }
}

$  docker run --rm -it --volume `pwd`:/tmp adoptopenjdk/openjdk11-openj9 java /tmp/Hoge.java
hoge

Führen Sie Java aus, ohne es zu kompilieren? -> JEP330 Java11: Java-Code unverändert in einer einzelnen Datei ausführen Mit Java 11 können Sie Java-Dateien ohne Javac ausführen

Referenz Probieren Sie verschiedene JDKs mit Docker aus AdoptOpenJDK https://adoptopenjdk.net Offizielles Docker-Bild https://hub.docker.com/u/adoptopenjdk/

Hinweis: Wiederholte Ausführung

$  docker run --rm -it --volume `pwd`:/tmp adoptopenjdk/openjdk11-openj9 /bin/sh -c 'for i in `seq 1 10`; do java -jar /tmp/MDTest.jar |grep -v dig; done' | awk '{sum+=$3} END {print "avg="sum/NR}'
avg=26.1

jshell

Zu diesem Zeitpunkt ist jshell praktisch. Wenn Sie Docker haben, können Sie es auch in einer Umgebung ohne Java 9 oder höher schnell verwenden.

$  docker run --rm -it adoptopenjdk/openjdk11-openj9 jshell
Nov 16, 2018 12:00:26 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
|  Welcome to JShell -- Version 11.0.1
|  For an introduction type: /help intro

jshell> System.out.println("moge")
moge

jshell> java.time.Instant.ofEpochMilli(1294012469700l);
$1 ==> 2011-01-02T23:54:29.700Z

jshell> 

Wie schreibt man Einzeiler?

[Wie schreibe ich ein einzeiliges Skript in Java JShell (und FizzBuzz Code Golf)] (http://sucrose.hatenablog.com/entry/2018/05/05/230434)

Das war's!

$ echo 'println("hello, world!")' | docker run --rm -it adoptopenjdk/openjdk11-openj9 jshell PRINTING -
the input device is not a TTY

Das? Ah.

$ echo 'println("hello, world!")' | docker run --rm -i adoptopenjdk/openjdk11-openj9 jshell PRINTING -
Nov 16, 2018 3:12:46 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
hello, world!

Ich ziehe alles an.

Referenz Java beginnt mit JShell-Blick in die Welt von Java Mit JShell mit Java2D spielen [Java 9 New Features] Erste Schritte mit jshell

Recommended Posts

Ein kurzer Hinweis zur Verwendung von jshell mit dem offiziellen Docker-Image des JDK
Erstellen Sie ein Docker-Image mit installiertem Oracle JDK (yum
Ein Hinweis zum Seed-Feature von Ruby on Rails
Hinweis zum Pfad von request.getRequestDispatcher
Richten Sie eine Wordpress Docker-Umgebung ein, ohne das Worpdress-Image zu verwenden
Erstellen Sie mit der Datei Ruby on Rails seeds.rb eine große Anzahl von Datensätzen mit einem einzigen Befehl
Zeigen Sie Text über dem Bild an
Ein Hinweis zur libGDX Utils-Klasse
(Memo) Holen Sie sich mit Hilfe von Gradle eine Reihe von abhängigen Bibliotheksgläsern
Bis zum Start eines Docker-Containers, der mit RedHat Quarkus erstellt wurde
Der Name ist und das Alter ist Senden Sie eine Benachrichtigung an Slack mit der Java-freien Version von Sentry (mit Lambda)
Verwenden Sie Vorlagen für den Klassenpfad mit Apache Velocity
Geben Sie ein Suffix für die Methode an
Geben Sie ein Suffix für Methode 2 heraus
Aktualisieren Sie das Container-Image mit KUSANAGI Runs on Docker
Schieben Sie das Image mit Jib zum Docker-Hub
So erstellen Sie einen Jenkins-Server mit einem Docker-Container unter CentOS 7 von VirtualBox und greifen von einem lokalen PC auf den Jenkins-Server zu
[Docker] So sehen Sie den Inhalt von Volumes. Starten Sie einen Container mit Root-Rechten.
Mit der Kalenderklasse von Java bleibt man am letzten Tag des Monats ein wenig hängen
Die Geschichte, einen Reverse-Proxy mit ProxyServlet zu erstellen
Wir haben eine Umgebung zum Ausführen von Komponententests mithilfe der Oracle-Datenbank (oracle12c) auf dem Docker-in-Docker-Image (dind) von GitLab-CI erstellt.
[Hinweis] Erstellen Sie eine Python3-Umgebung mit Docker in EC2
[Hinweis] Erstellen Sie mit Docker eine Java-Umgebung von Grund auf neu
Versuchen Sie es mit dem Ruby on Rails-Abfrageattribut
Die Geschichte, wie ein Docker-Container mit GitHub-Aktionen in die GitHub-Paketregistrierung und den Docker-Hub verschoben wird
[Automatischer Handel mit Bitcoin] Eine Geschichte über den Betrieb mit Docker unter AWS mit ON / OFF- und Line-Benachrichtigung mit 1 TAP von Apple Watch für unterwegs
Erstellen eines Docker-Hosts in AWS mit Docker Machine (persönliches Memorandum)
Eine kurze Erklärung der fünf Arten von Java Static
Übergang mit dem Header-Image von CardView
Registrieren Sie Ihr eigenes Docker-Image in ECR mithilfe der AWS CLI
Eine Geschichte voller Grundlagen von Spring Boot (gelöst)
Überprüfen Sie die Funktion von zwei Rollen mit einer Chat-Anwendung
[Swift 5] Wählen Sie mit der UIDate-Auswahl unter iOS14 ein Datum aus
Bis zur produktiven Bereitstellung der Hallo-App mit k3d auf Time4VPS
Ich habe JAX-RS ausprobiert und mir das Verfahren notiert
Versuchen Sie, mit Helidon einen WebAP-Server auf dem Mikro zu starten
So installieren Sie JDK 8 unter Windows ohne Verwendung des Installationsprogramms
Erläutern Sie die Vorzüge des staatlichen Musters anhand des Bewertungsurteils des Films
Die Zeit ist falsch mit der Anwendung, die auf dem Docker-Container gestartet wurde
Versuchen Sie Hello World mit einfachem Java im Docker-Container
Finden Sie mit Kotlin die Anzahl der Tage in einem Monat
Erstellen Sie mit Raspberry Pi und Docker Compose im Handumdrehen ein NAS mit DLNA-Funktion
Eine Geschichte über die Bekämpfung der Ubuntu-Fehler 0x80370114 und 0x80000000, um den Docker-Desktop mit wsl2 in Windows 10 Home zu aktivieren