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

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

WBOY
WBOYavant
2023-05-14 23:46:041918parcourir

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();
    }
}

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer