Maison >Java >javaDidacticiel >Comment puis-je accéder aux informations système en Java sans utiliser JNI ?

Comment puis-je accéder aux informations système en Java sans utiliser JNI ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-19 10:12:09325parcourir

How Can I Access System Information in Java Without Using JNI?

Accès aux informations système en Java

Introduction :
Lorsque vous développez des applications Java qui s'étendent sur plusieurs plates-formes, un besoin courant se fait sentir : extraire des informations au niveau du système telles que l'utilisation de l'espace disque, l'utilisation du processeur et la consommation de mémoire. Cet article explore différentes approches pour obtenir ces données sans recourir à JNI (Java Native Interface).

Accès aux informations système au niveau du système d'exploitation :

Java offre un accès limité au système d'exploitation. -informations système au niveau via la classe Runtime. Des détails tels que les processeurs disponibles, la mémoire libre et la mémoire maximale peuvent être récupérés. De plus, la classe File dans Java 1.6 et versions ultérieures permet de récupérer des informations sur l'utilisation de l'espace disque.

// Example
public class SystemInfo {
    public static void main(String[] args) {
        Runtime runtime = Runtime.getRuntime();
        System.out.printf("Available processors: %d\n", Runtime.availableProcessors());
        System.out.printf("Free memory: %d bytes\n", Runtime.freeMemory());
        long maxMemory = Runtime.maxMemory();
        System.out.printf("Maximum memory: %s\n", (maxMemory == Long.MAX_VALUE) ? "no limit" : maxMemory + " bytes");
        System.out.printf("Total memory: %d bytes\n", Runtime.totalMemory());
        
        File[] roots = File.listRoots();
        for (File root : roots) {
            System.out.printf("Filesystem root: %s\n", root.getAbsolutePath());
            System.out.printf("Total space: %d bytes\n", root.getTotalSpace());
            System.out.printf("Free space: %d bytes\n", root.getFreeSpace());
            System.out.printf("Usable space: %d bytes\n", root.getUsableSpace());
        }
    }
}

Informations sur les performances spécifiques à l'application :

Pour récupérer les informations système relatives au Application Java elle-même, la classe ManagementFactory fournit des informations sur les statistiques de chargement de la mémoire, des threads et des classes.

Supplémentaire Ressources :

  • [Informations sur l'exécution Java](https://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html)
  • [Système Java Propriétés](https://docs.oracle.com/javase/7/docs/api/java/lang/System.html)
  • [Interface de gestion Java](https://docs.oracle.com /javase/7/docs/technotes/guides/management/overview.html)

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn