Introduction à la commande java

Chapitre 4 Exécuter le code

Type d'application Java

Avant de discuter de l'exécution d'une application avec des commandes java, Jetons un coup d'œil à ce que sont les applications Java.

Ce qui suit est une classification approximative des applications Java. L'explication est également approximative, donc si vous êtes intéressé, veuillez la vérifier vous-même.

--Application de consentement Applications qui peuvent être utilisées de manière interactive à partir de la console, telles que Prompt et Terminal. --Application de bureau Une application complète dans un seul terminal. Parfois appelé GUI. --Application Web Une application qui traite par communication entre le serveur Web et le client. --Application Android Application de bureau pour Android. (C'est une analogie) --Programme intégré Programmes intégrés directement dans le matériel tel que les appareils ménagers.

La commande java exécute principalement des applications de console et des applications de bureau.

Vue d'ensemble de la commande java

L'exécution de la commande java lance une application Java. L'outil java démarre d'abord le JRE et charge la classe spécifiée dans la commande. Appelé à l'intérieur de la méthode main en appelant la méthode main de la classe chargée L'application sera exécutée lors du chargement d'autres classes en séquence.

Pour spécifier une classe qui a une méthode principale, Vous pouvez spécifier la classe directement ou vous pouvez spécifier le fichier JAR.

principales conventions de méthode

La méthode principale est publique et statique, elle prend un tableau de type String comme argument, Doit être une méthode qui vérifie qu'elle ne renvoie pas de valeur de retour.

méthode principale


    public static void main(String[] args) {
        //Certains traitements
    }

Configuration de base de la commande java

# java [ options ] class [ argument ... ]
$ java HelloWorld "args1" "args2"

Dans l'exemple ci-dessus, la méthode principale de la classe HelloWorld est appelée et l'argument args de la méthode principale est Un tableau de type String contenant "args1" et "args2" est passé.

Exécution du fichier de classe

Pour exécuter le fichier de classe, vous devez spécifier le nom de classe entièrement spécifié. Étant donné que l'exemple ci-dessus n'a pas de configuration de package, Il pourrait être exécuté sans spécifier de package, mais si vous avez une configuration de package Vous devez spécifier le nom de la classe dans le package entièrement spécifié.

#Le répertoire actuel est/src
# /Hello World avec src comme racine du package/src/com/example/Si c'est directement sous l'application
$ java com.example.app.HelloWorld

Exécution du fichier JAR

Si vous spécifiez un fichier JAR, à partir du fichier de classe archivé dans le fichier JAR Afin d'identifier la classe de démarrage qui a la méthode principale, l'en-tête Main-Class du fichier manifeste Doit être réglé. Pour plus de détails ici, l'article suivant était facile à comprendre.

Article de référence: Introduction aux fichiers JAR @ hiwm0126

Pour démarrer le fichier JAR, spécifiez l'emplacement du fichier JAR. (Le chemin absolu et le chemin relatif sont possibles) De plus, si vous spécifiez un fichier JAR pour la classe de démarrage, vous devez ajouter l'option -jar.

#Le répertoire actuel est/(racine)
# /lib/jars/sample-app.Exécuter le pot
$ java -jar /lib/jars/sample-app.jar

options de commande java

Options majeures

--- classpath (ou -cp) Spécifiez la destination de recherche de la classe d'utilisateurs. Lorsque plusieurs sélections sont effectuées, séparez-les par un point-virgule (Windows) ou un deux-points (Unix). --- jar Spécifiez le fichier JAR dans la classe de démarrage. Spécifiez l'emplacement du fichier JAR dans le chemin.

$ java -Dsun.boot.class.path="/sample/path" SampleApp

Classe SampleApp


//Définir la valeur "/sample/"chemin" peut être obtenu
System.getProperty("sun.boot.class.path");

Options d'assertion

Cette option active ou désactive les assertions Java. L'assertion est désactivée par défaut.

--- activer les affirmations (ou -ea): <portée> Activez les assertions. Il existe les types suivants de spécifications de plage d'application.

Activé dans la classe spécifiée.

Options de débogage

Options HotSpot

HotSpot est un terme général désignant les technologies intégrées dans les JVM pour accélérer le traitement. Un type de compilateur JIT (compilateur d'exécution) qui utilise uniquement des méthodes qui ont été exécutées un certain nombre de fois ou plus. Il existe un mécanisme d'optimisation du traitement tel que la compilation.

HotSpot inclut Java HotSpot Client VM (version client) et Java HotSpot Server VM (version serveur) Il existe deux types, chacun présentant les caractéristiques suivantes.

--Version client Concentrez-vous sur les classes et méthodes importantes à compiler et concentrez-vous sur le chargement rapide. --Version du serveur Il se compile dans son ensemble, le chargement est donc lent, mais nous nous concentrons sur l'optimisation.

Les options suivantes permettent de spécifier le HotSpot à utiliser.

Options de bibliothèque d'agent natif

Java a un mécanisme pour utiliser des programmes codés autres que Java. Avec des agents (clients JVMTI) via l'interface Java Virtual Machine Tool (JVMTI) Il peut être utilisé en échangeant. Cet agent est une variété d'outils implémentés dans des langages autres que Java.

Les options suivantes sont des options d'utilisation de ces bibliothèques d'agents natifs.

--- agentlib: <nom de la bibliothèque> =

Courir

Maintenant, exécutons l'exemple de code.

Dans l'exemple de code, «NG» s'affiche lorsque Null ou un caractère vide est passé. Dans d'autres cas, 3 résultats de traitement de la méthode qui renvoie la chaîne de caractères d'argument sont affichés. Vous devriez voir trois lignes, "NG", "NG" et "Hello World!".

#Le répertoire actuel est/java-sample/src
$ java -cp /java-sample/lib/commons-lang3-3.10.jar:/java-sample/src com.example.app.UseCommons
#Voici le résultat de sortie
NG
NG
Hello World!

Retour à la page principale

Recommended Posts

Introduction à la commande java
Introduction à Java
Introduction à la commande javadoc
Introduction à la commande jar
Introduction à la commande javac
[Java] Introduction à l'expression lambda
[Java] Introduction à l'API Stream
[Introduction aux jeux Janken (comme)] Java
[Introduction à Java] À propos des expressions lambda
[Introduction à Java] À propos de l'API Stream
Introduction à la programmation fonctionnelle (Java, Javascript)
Introduction à Ruby 2
Introduction à Micronaut 1 ~ Introduction ~
Introduction à la migration
Introduction à Doma
Introduction à Java pour la première fois # 2
[Introduction à Java] Comment écrire un programme Java
Sortie du livre "Introduction à Java"
Introduction à la surveillance à partir de Java Touching Prometheus
Introduction aux algorithmes avec java --Search (recherche de priorité de largeur)
Java Performance Chapitre 1 Introduction
Introduction aux fichiers JAR
Changements de Java 8 à Java 11
Somme de Java_1 à 100
Introduction à Ratpack (8) - Session
[Introduction à Java] À propos de la conversion de type (distribution, promotion)
Introduction aux algorithmes avec java --Search (bit full search)
Introduction à l'arithmétique des bits
Introduction à Ratpack (6) - Promesse
Introduction à Ratpack (9) --Thymeleaf
[Java] Connectez-vous à MySQL
[Mensuel 2017/04] Introduction à groovy !! ~ Comparaison de grammaire / spécification Java ~
Introduction à PlayFramework 2.7 ① Présentation
Introduction à la mise en page Android
Introduction aux modèles de conception (introduction)
Améliorations de Kotlin à Java
De Java à Ruby !!
Introduction à Ratpack (2) -Architecture
Introduction au style lambda
Introduction au développement de Keycloak
Premiers pas avec Groovy pour les ingénieurs Java gênants
[Introduction à Java] Bases de l'arithmétique Java (pour les débutants)
Introduction à Java pour les débutants Connaissance de base du langage Java ①
[Introduction à Java] Portée de la variable (portée, variable locale, variable d'instance, variable statique)
Introduction aux modèles de conception (Builder)
Comment abaisser la version java
Migration de Cobol vers JAVA
[Java] Comment utiliser Map
Java ajoute un tableau au PDF
Comment désinstaller Java 8 (Mac)
Java pour jouer avec Function
Java - Comment créer JTable