[JAVA] Une note rapide sur l'utilisation de jshell avec l'image Docker officielle du JDK

Tirez parti de l'image officielle Java Docker

--Je veux tester avec une version spécifique de JVM

À ce moment-là, il est plus facile d'utiliser l'image Docker de JVM.

$ 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

Exécutez-vous java sans compiler? -> JEP330 Java11: exécuter le code Java dans un seul fichier tel quel Java 11 vous permet d'exécuter des fichiers Java sans javac

Référence Essayez différents JDK avec Docker AdoptOpenJDK https://adoptopenjdk.net Image Docker officielle https://hub.docker.com/u/adoptopenjdk/

Remarque: exécution répétée

$  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 --Je souhaite exécuter rapidement un traitement (écrit) en Java --Je ne veux pas écrire de classes et main, c'est compliqué à compiler et à exécuter

À ce moment-là, jshell est pratique. Si vous disposez de Docker, vous pouvez l'utiliser rapidement, même dans un environnement sans Java 9 ou version ultérieure.

$  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> 

Eh bien, comment écrivez-vous une ligne?

[Comment écrire un script one-liner en Java JShell (et FizzBuzz code golf)] (http://sucrose.hatenablog.com/entry/2018/05/05/230434)

Je vois!

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

cette? 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!

Je mets quoi que ce soit.

Référence Java commençant par JShell-Looking into the world of Java Jouez avec Java2D en utilisant JShell [Nouvelles fonctionnalités Java9] Premiers pas avec jshell

Recommended Posts

Une note rapide sur l'utilisation de jshell avec l'image Docker officielle du JDK
Créez une image Docker avec le JDK Oracle installé (miam
Une note sur la fonction de départ de Ruby on Rails
Remarque sur le chemin de request.getRequestDispatcher
Configurer un environnement Wordpress Docker sans utiliser l'image Worpdress
Créez un grand nombre d'enregistrements avec une seule commande à l'aide du fichier seeds.rb Ruby on Rails
Afficher le texte en haut de l'image
Une note sur la classe Utils libGDX
(Mémo) Obtenez un ensemble de jars de bibliothèque dépendants à l'aide de Gradle
Jusqu'au lancement d'un conteneur Docker construit avec RedHat Quarkus
Envoyez des notifications à Slack avec la version gratuite de sentry (en utilisant lambda)
Utilisez des modèles sur le chemin de classe avec Apache Velocity
Sortez avec un suffixe sur la méthode
Sortez avec un suffixe sur la méthode 2
Mettre à jour l'image du conteneur avec KUSANAGI s'exécute sur Docker
Poussez l'image vers le hub docker à l'aide de Jib
Comment créer un serveur Jenkins avec un conteneur Docker sur CentOS 7 de VirtualBox et accéder au serveur Jenkins à partir d'un PC local
[Docker] Comment voir le contenu des volumes. Démarrez un conteneur avec les privilèges root.
Être un peu bloqué le dernier jour du mois en utilisant la classe Calendar de Java
L'histoire de la création d'un proxy inverse avec ProxyServlet
Nous avons créé un environnement pour exécuter des tests unitaires à l'aide de la base de données Oracle (oracle12c) sur l'image Docker in Docker (dind) de GitLab-CI
[Note] Créez un environnement Python3 avec Docker dans EC2
[Note] Créez un environnement Java à partir de zéro avec docker
Essayez d'utiliser l'attribut de requête Ruby on Rails
L'histoire du transfert d'un conteneur Docker vers le registre de packages GitHub et Docker Hub avec des actions GitHub
[Trading automatique de Bitcoin] Histoire de fonctionnement avec Docker d'AWS, avec notification ON / OFF et ligne avec 1 TAP d'Apple Watch en déplacement
Création d'un hôte Docker sur AWS à l'aide de Docker Machine (mémorandum personnel)
Une explication rapide des cinq types de statique Java
Transition en utilisant l'image d'en-tête de CardView telle quelle
Enregistrez votre propre image Docker dans ECR à l'aide de l'AWS CLI
Une histoire remplie des bases de Spring Boot (résolu)
Vérifier le fonctionnement de deux rôles avec une application de chat
[Swift 5] Sélectionnez une date avec le sélecteur UIDate sur iOS14
Jusqu'au déploiement en production de hello-app avec k3d sur Time4VPS
J'ai essayé JAX-RS et pris note de la procédure
Essayez de lancer un serveur WebAP sur le micro à l'aide d'Helidon
Comment installer JDK 8 sur Windows sans utiliser le programme d'installation
Expliquez les mérites du modèle d'État avec le jugement de notation du film
L'heure ne va pas avec l'application lancée sur le conteneur Docker
Essayez Hello World en utilisant Java brut sur le conteneur Docker
Trouvez le nombre de jours dans un mois avec Kotlin
Construisez un NAS avec la fonction DLNA à la vitesse d'une seconde avec Raspberry Pi et Docker Compose
Une histoire sur la lutte contre les erreurs Ubuntu 0x80370114 et 0x80000000 pour activer Docker Desktop avec WSL2 dans Windows10 Home