Java temps de calcul 4 fois plus cour par lancement par le shell et par dble clc
Résolu/Fermé
benoit_28
Messages postés
42
Date d'inscription
vendredi 20 mars 2020
Statut
Membre
Dernière intervention
11 juin 2023
-
Modifié le 4 nov. 2021 à 15:40
benoit_28 Messages postés 42 Date d'inscription vendredi 20 mars 2020 Statut Membre Dernière intervention 11 juin 2023 - 5 nov. 2021 à 11:39
benoit_28 Messages postés 42 Date d'inscription vendredi 20 mars 2020 Statut Membre Dernière intervention 11 juin 2023 - 5 nov. 2021 à 11:39
A voir également:
- Javapackager tutorial
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Calcul moyenne excel - Guide
- Qu'est ce qu'une femme fait 3 fois par jour et un homme une fois dans sa vie ✓ - Forum Loisirs / Divertissements
- 35 go internet combien de temps ✓ - Forum Free mobile
3 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
4 nov. 2021 à 16:08
4 nov. 2021 à 16:08
Bonjour,
Est-ce que tu pourrais ajouter dans ton code l'affichage des propriétés du programme afin de voir quel exécutable Java est appelé dans un cas où dans l'autre.
Je n'ai pas testé mais je pense que la propriété java.home devrait suffire.
Plus d'infos :
https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
Est-ce que tu pourrais ajouter dans ton code l'affichage des propriétés du programme afin de voir quel exécutable Java est appelé dans un cas où dans l'autre.
Je n'ai pas testé mais je pense que la propriété java.home devrait suffire.
String javaHome = System.getProperty("java.home");
Plus d'infos :
https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html
benoit_28
Messages postés
42
Date d'inscription
vendredi 20 mars 2020
Statut
Membre
Dernière intervention
11 juin 2023
Modifié le 4 nov. 2021 à 19:06
Modifié le 4 nov. 2021 à 19:06
Merci de ta réponse. J'ai bien mis la ligne que tu m'as indiquée, et le résultat est le suivant:
javaHome C:\logiciels\jdk1.8.0_261\jre,
J'ai bien dans le C:\logiciels\jdk1.8.0_261\ un dossier jre, qui a un fichier de moins (sur 220 fichiers) que le C:\logiciels\jre1.8.0_261 lui aussi fourni par l'installation.
J'ai donc essayé de remplacer C:\logiciels\jdk1.8.0_261\ jre
par le C:\logiciels\jre1.8.0_261, mais quand j'ai recompilé mon programme, cela m'a donné:
Error: could not open `C:\Program Files\Java\jre1.8.0_291\lib\amd64\jvm.cfg
Tu notes bien que ce n'est pas le C:\logiciels\jdk1.8.0_261\jre1.8.0_261 qu'il a été chercher, mais le même dossier du C:\Program Files\Java, où le 261 a été remplacé par 291! ce qui est très curieux: il n'y a sur le fichier . C:\Program Files\Java qu'un C:\Program Files\Java\jre1.8.0_261.
J'ai artificiellement changé le 291 pour 261 dans le C:\Program Files\Java\jre1.8.0_261 -->C:\Program Files\Java\jre1.8.0_291 et cela fonctionne, mais le problème de consommation de temps pour le démarrage par double clic demeure intact.
Donc je pense, à part cet incident 261-->291, que tout est correct du coté des jre.
Je vais regarder si j'ai le même problème sur Java 9.
Mais je suis toujours preneur d'idées.
De toutes façons, Merci
javaHome C:\logiciels\jdk1.8.0_261\jre,
J'ai bien dans le C:\logiciels\jdk1.8.0_261\ un dossier jre, qui a un fichier de moins (sur 220 fichiers) que le C:\logiciels\jre1.8.0_261 lui aussi fourni par l'installation.
J'ai donc essayé de remplacer C:\logiciels\jdk1.8.0_261\ jre
par le C:\logiciels\jre1.8.0_261, mais quand j'ai recompilé mon programme, cela m'a donné:
Error: could not open `C:\Program Files\Java\jre1.8.0_291\lib\amd64\jvm.cfg
Tu notes bien que ce n'est pas le C:\logiciels\jdk1.8.0_261\jre1.8.0_261 qu'il a été chercher, mais le même dossier du C:\Program Files\Java, où le 261 a été remplacé par 291! ce qui est très curieux: il n'y a sur le fichier . C:\Program Files\Java qu'un C:\Program Files\Java\jre1.8.0_261.
J'ai artificiellement changé le 291 pour 261 dans le C:\Program Files\Java\jre1.8.0_261 -->C:\Program Files\Java\jre1.8.0_291 et cela fonctionne, mais le problème de consommation de temps pour le démarrage par double clic demeure intact.
Donc je pense, à part cet incident 261-->291, que tout est correct du coté des jre.
Je vais regarder si j'ai le même problème sur Java 9.
Mais je suis toujours preneur d'idées.
De toutes façons, Merci
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
4 nov. 2021 à 22:06
4 nov. 2021 à 22:06
En fait ce que je voulais savoir c'est si le java.home qui était utilisé était le même entre les deux exécutions du programme (et si la différence entre les deux justifiait l'écart de temps...)
Remarque : il est également possible que l'exécution par un double clic ne démarre pas le java.exe mais javaw.exe, ou ajoute des options... Cela peut se voir avec la commande jps (et l'option -v ? à vérifier...) ou avec l'application jvisualvm
NB. Si le problème vient de la JVM utilisée il est possible qu'en partageant ton programme chaque utilisateur ait un comportement différent selon leur JVM installée. C'est pour cela qu'il existe jpackage (ou équivalent selon les versions) pour embarquer ton code en même temps que la JVM que tu veux dans un .exe de manière à tout exécuter de la même manière sur tous les postes.
Remarque : il est également possible que l'exécution par un double clic ne démarre pas le java.exe mais javaw.exe, ou ajoute des options... Cela peut se voir avec la commande jps (et l'option -v ? à vérifier...) ou avec l'application jvisualvm
NB. Si le problème vient de la JVM utilisée il est possible qu'en partageant ton programme chaque utilisateur ait un comportement différent selon leur JVM installée. C'est pour cela qu'il existe jpackage (ou équivalent selon les versions) pour embarquer ton code en même temps que la JVM que tu veux dans un .exe de manière à tout exécuter de la même manière sur tous les postes.
- javafxpackager en Java 7
- javapackager en Java 8, 9, 10
- jlink en Java 11, 12
- jpackage depuis Java 14
benoit_28
Messages postés
42
Date d'inscription
vendredi 20 mars 2020
Statut
Membre
Dernière intervention
11 juin 2023
5 nov. 2021 à 11:39
5 nov. 2021 à 11:39
Bravo, vous m'avez sorti d'affaire.
J'ai imprimé sur la fenêtre principale, par drawStrind le javaHome que vous m'avez indiqué. Et j'ai trouve C:\Program Files\Java\jre1.9.0.4, c'est à dire que la machine a été chercher le jre le plus récent dans les Program Files au lieu de prendre le jre se trouvant dans le jdk du java 8. En fait, j'ai essayé la semaine dernière de voir ce que cela donnait avec le java 9, et la conclusion de cette affaire est qu'il ne faut pas avoir plusieurs versions de java sur le program files.
Maintenant, j'ai retrouvé la vitesse correcte quand je double clique.
Un très grand MERCI!
J'ai imprimé sur la fenêtre principale, par drawStrind le javaHome que vous m'avez indiqué. Et j'ai trouve C:\Program Files\Java\jre1.9.0.4, c'est à dire que la machine a été chercher le jre le plus récent dans les Program Files au lieu de prendre le jre se trouvant dans le jdk du java 8. En fait, j'ai essayé la semaine dernière de voir ce que cela donnait avec le java 9, et la conclusion de cette affaire est qu'il ne faut pas avoir plusieurs versions de java sur le program files.
Maintenant, j'ai retrouvé la vitesse correcte quand je double clique.
Un très grand MERCI!