Home  >  Article  >  Java  >  How to use System.currentTimeMillis() method to calculate program running time in Java

How to use System.currentTimeMillis() method to calculate program running time in Java

WBOY
WBOYforward
2023-05-14 23:46:041867browse

The System.currentTimeMillis() method provided in Java is used to obtain the current computer time. The expression format of the time is the current computer time and GMT time (Greenwich Mean Time) January 1, 1970 0:00:00 The difference in milliseconds.

The return type of the System.currentTimeMillis() method is long, which represents the current time in milliseconds.

During the development process, many people are usually accustomed to using new Date() to obtain the current time. What new Date() does is actually call the System.currentTimeMillis() method. If you only need the number of milliseconds, you can use System.currentTimeMillis() instead of new Date(), which will be more efficient.

[Example]Calculate the time-consuming situation of concatenating strings of String type and StringBuilder type.

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

Running results:

How to use System.currentTimeMillis() method to calculate program running time in Java

Additional knowledge points:

From the picture above It can be seen from the running results that in the process of splicing strings, the StringBuilder object is used instead of the String object. This is because String is an immutable object, and a new String object is created every time the string is changed; while StringBuilder is a mutable character sequence, similar to String's string buffer. Therefore, using StringBuilder in places where strings are frequently modified will be more efficient than String.

The running speed in this regard is: StringBuilder > StringBuffer > String.

In terms of thread safety, StringBuilder is thread-unsafe, while StringBuffer is thread-safe.

The above is the detailed content of How to use System.currentTimeMillis() method to calculate program running time in Java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete