jdeps est un outil d'analyse des dépendances de classe Java, qui est un outil de ligne de commande utilisé pour afficher le niveau du package ou les dépendances au niveau de la classe pour un fichier de classe Java donné. La classe d'entrée peut être un chemin d'accès à un fichier .class, un répertoire, un fichier jar ou un nom de classe complet pour analyser tous les fichiers de classe.
"jdeps" a été inclus dans les installations jdk depuis jdk 8, et il est représenté par le fichier programme "%java_home%binjdeps.exe". Si nous incluons le répertoire "%java_home%bin" dans la variable d'environnement "path", nous exécuterons la commande "jdeps --help" pour voir une liste complète de toutes les options.
Ci-dessous, nous pouvons visualiser la liste des options en utilisant la commande "jdeps --help".
C:\Program Files\Java\jdk-9.0.4>jdeps --help Usage: jdeps <options> <path ...>] <path> can be a pathname to a .class file, a directory, a JAR file. Possible options include: -dotoutput <dir> --dot-output <dir> Destination directory for DOT file output -s -summary Print dependency summary only. -v -verbose Print all class level dependences Equivalent to -verbose:class -filter:none. -verbose:package Print package-level dependences excluding dependences within the same package by default -verbose:class Print class-level dependences excluding dependences within the same package by default -apionly --api-only Restrict analysis to APIs i.e. dependences from the signature of public and protected members of public classes including field type, method parameter types, returned type, checked exception types etc. -jdkinternals --jdk-internals Finds class-level dependences on JDK internal APIs. By default, it analyzes all classes on --class-path and input files unless -include option is specified. This option cannot be used with -p, -e and -s options. WARNING: JDK internal APIs are inaccessible. --check <module-name>[,<module-name>... Analyze the dependence of the specified modules It prints the module descriptor, the resulting module dependences after analysis and the graph after transition reduction. It also identifies any unused qualified exports. --generate-module-info <dir> Generate module-info.java under the specified directory. The specified JAR files will be analyzed. This option cannot be used with --dot-output or --class-path. Use --generate-open-module option for open modules. --generate-open-module <dir> Generate module-info.java for the specified JAR files under the specified directory as open modules. This option cannot be used with --dot-output or --class-path. --list-deps Lists the dependences and use of JDK internal APIs. --list-reduced-deps Same as --list-deps with not listing the implied reads edges from the module graph If module M1 depends on M2 and M3, M2 requires public on M3, then M1 reading M3 is implied and removed from the module graph. -cp <path> -classpath <path> --class-path <path> Specify where to find class files --module-path <module path> Specify module path --upgrade-module-path <module path> Specify upgrade module path --system <java-home> Specify an alternate system module path --add-modules <module-name>[,<module-name>...] Adds modules to the root set for analysis -m <module-name> --module <module-name> Specify the root module for analysis --multi-release <version> Specifies the version when processing multi-release jar files. should be integer >= 9 or base. Options to filter dependences: -p <pkg> -package <pkg> --package <pkg> Finds dependences matching the given package name (may be given multiple times). -e <regex> -regex <regex> --regex <regex> Finds dependences matching the given pattern. --require <module-name> Finds dependences matching the given module name (may be given multiple times). --package, --regex, --require are mutual exclusive. -f <regex> -filter <regex> Filter dependences matching the given pattern. If given multiple times, the last one will be used. -filter:package Filter dependences within the same package. This is the default. -filter:archive Filter dependences within the same archive. -filter:module Filter dependences within the same module. -filter:none No -filter:package and -filter:archive filtering. Filtering specified via the -filter option still applies. Options to filter classes to be analyzed: -include <regex> Restrict analysis to classes matching pattern This option filters the list of classes to be analyzed. It can be used together with -p and -e which apply pattern to the dependences -P -profile Show profile containing a package -R -recursive Recursively traverse all run-time dependences. The -R option implies -filter:none. If -p, -e, -f option is specified, only the matching dependences are analyzed. -I --inverse Analyzes the dependences per other given options and then find all artifacts that directly and indirectly depend on the matching nodes. This is equivalent to the inverse of compile-time view analysis and print dependency summary. This option must use with --require, --package or --regex option. --compile-time Compile-time view of transitive dependences i.e. compile-time view of -R option. Analyzes the dependences per other given options If a dependence is found from a directory, a JAR file or a module, all c*lasses in that containing archive are analyzed. -q - quiet Do not show missing dependences from --generate-module-info output. -version --version Version information
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

JvmManagesgarBageCollectionACROSSPLATFORMSEFFECTIVELYBUSEUSAGENERATIONSPROACHANDADAPTINGTOOSANDHARDWAREDIFFERENCES.ITEPLOCHESSVARIEDSCOLLECTORSELESEERIAL, parallèle, CMS, etg1, chacun

Le code Java peut fonctionner sur différents systèmes d'exploitation sans modification, car la philosophie "écrire une fois, exécuter partout" de Java est implémentée par Java Virtual Machine (JVM). En tant qu'intermédiaire entre le bytecode Java compilé et le système d'exploitation, le JVM traduit le bytecode en instructions de machine spécifiques pour s'assurer que le programme peut s'exécuter indépendamment sur n'importe quelle plate-forme avec JVM installé.

La compilation et l'exécution des programmes Java réalisent l'indépendance de la plate-forme via ByteCode et JVM. 1) Écrivez le code source Java et compilez-le en bytecode. 2) Utilisez JVM pour exécuter ByteCode sur n'importe quelle plate-forme pour vous assurer que le code s'exécute sur les plates-formes.

Les performances de Java sont étroitement liées à l'architecture matérielle, et la compréhension de cette relation peut améliorer considérablement les capacités de programmation. 1) Le JVM convertit Java Bytecode en instructions de la machine via la compilation JIT, qui est affectée par l'architecture du CPU. 2) La gestion de la mémoire et la collecte des déchets sont affectés par la RAM et la vitesse du bus mémoire. 3) Prédiction de cache et de branche Optimiser l'exécution du code Java. 4) Le traitement multi-threading et parallèle améliore les performances sur les systèmes multi-fond.

L'utilisation de bibliothèques natives détruira l'indépendance de la plate-forme de Java, car ces bibliothèques doivent être compilées séparément pour chaque système d'exploitation. 1) La bibliothèque native interagit avec Java via JNI, fournissant des fonctions qui ne peuvent pas être directement implémentées par Java. 2) L'utilisation des bibliothèques natives augmente la complexité du projet et nécessite la gestion des fichiers de bibliothèque pour différentes plates-formes. 3) Bien que les bibliothèques natives puissent améliorer les performances, elles doivent être utilisées avec prudence et effectué des tests multiplateformes.

JVM gère les différences d'API du système d'exploitation via JavanativeInterface (JNI) et Java Standard Library: 1. JNI permet au code Java d'appeler le code local et d'interagir directement avec l'API du système d'exploitation. 2. La bibliothèque Java Standard fournit une API unifiée, qui est mappée en interne sur différentes API du système d'exploitation pour s'assurer que le code se déroule sur les plates-formes.

ModularityDoesNotDirectlyAffectedJava'splatformIndependence.java'splatformIndependensemAINENENEYBYTHEJVM, ButModularityInfluencesPlicationsStructureAndManagement, indirectly ImpactingPlatFatFindependence.1)

Bytecodeinjavaisheintermediaterepresentation the-steplatefortiveindependence.1) javacodeiscompilentocodedestoredin.classfiles.2) thejvMinterpretsorcompiltesthisbytecodeintomachinecotetruntime, permettant à la nom de codécodèdetorunonanydevicewithajvm, ainsi en nomycodetorunonananydevicewithajvm, ainsi.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux
