Maison > Java > javaDidacticiel > le corps du texte

Comment utiliser la méthode System.currentTimeMillis() pour calculer la durée d'exécution d'un programme en Java

WBOY
Libérer: 2023-05-14 23:46:04
avant
1939 Les gens l'ont consulté

La méthode System.currentTimeMillis() fournie en Java est utilisée pour obtenir l'heure actuelle de l'ordinateur. Le format d'expression temporelle est la différence entre l'heure actuelle de l'ordinateur et l'heure GMT (Greenwich Mean Time) au 1er janvier 1970, 0h00 : 00 de millisecondes.

Le type de retour de la méthode System.currentTimeMillis() est long , qui représente l'heure actuelle en millisecondes.

Pendant le processus de développement, de nombreuses personnes sont généralement habituées à utiliser new Date() pour obtenir l'heure actuelle. Ce que fait new Date(), c'est en fait appeler la méthode System.currentTimeMillis(). Si vous n'avez besoin que du nombre de millisecondes, vous pouvez utiliser System.currentTimeMillis() au lieu de new Date(), ce qui sera plus efficace.

【Exemple】Calculez la consommation de temps de concaténation de chaînes de type String et de type StringBuilder.

/**
 * Java使用System.currentTimeMillis()方法计算程序运行时间
 * @author pan_junbiao
 **/
public class CurrentTimeTest
{
    /**
     * 使用String类型拼接字符串耗时
     */
    public static void testString()
    {
        String s = "Hello";
        String s1 = "World";
        long start = System.currentTimeMillis();
        for(int i=0; i<10000; i++)
        {
            s+=s1;
        }
        long end = System.currentTimeMillis();
        long runTime = (end - start);
        System.out.println("使用String类型拼接字符串耗时:" + runTime + "毫秒");
    }
 
    /**
     * 使用StringBuilder类型拼接字符串耗时
     */
    public static void testStringBuilder()
    {
        StringBuilder s = new StringBuilder("Hello");
        String s1 = "World";
        long start = System.currentTimeMillis();
        for(int i=0; i<10000; i++)
        {
            s.append(s1);
        }
        long end = System.currentTimeMillis();
        long runTime = (end - start);
        System.out.println("使用StringBuilder类型拼接字符串耗时:" + runTime + "毫秒");
    }
 
    public static void main(String[] args)
    {
        testString();
        testStringBuilder();
    }
}
Copier après la connexion

Résultats d'exécution :

Comment utiliser la méthode System.currentTimeMillis() pour calculer la durée dexécution dun programme en Java

Points de connaissance supplémentaires :

Comme le montrent les résultats d'exécution de la figure ci-dessus, dans le processus d'épissage de chaînes, les objets StringBuilder sont utilisés à la place des objets String. En effet, String est un objet immuable et un nouvel objet String est créé à chaque fois que la chaîne est modifiée ; tandis que StringBuilder est une séquence de caractères mutable, similaire au tampon de chaîne de String. Par conséquent, utiliser StringBuilder dans des endroits où les chaînes sont fréquemment modifiées sera plus efficace que String.

La vitesse d'exécution à cet égard est : StringBuilder >

En termes de sécurité des threads, StringBuilder n'est pas sécurisé pour les threads, tandis que StringBuffer est sécurisé pour les threads.

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal