欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java使用System.currentTimeMillis()方法計算程序運行時間的示例代碼

 更新時間:2022年03月11日 10:36:54   作者:pan_junbiao  
System.currentTimeMillis() 方法的返回類型為 long ,表示毫秒為單位的當前時間,文中通過示例代碼介紹了計算 String 類型與 StringBuilder 類型拼接字符串的耗時情況,對Java計算程序運行時間相關知識感興趣的朋友一起看看吧

Java 中提供的 System.currentTimeMillis() 方法用于獲取當前的計算機時間,時間的表達格式為當前計算機時間和 GMT 時間(格林威治時間)1970年1月1號0時0分0秒所差的毫秒數。

System.currentTimeMillis() 方法的返回類型為 long ,表示毫秒為單位的當前時間。

在開發(fā)過程中,通常很多人都習慣使用 new Date() 來獲取當前時間。new Date() 所做的事情其實就是調用了 System.currentTimeMillis()方法。如果僅僅是需要或者毫秒數,那么完全可以使用 System.currentTimeMillis() 去代替 new Date(),效率上會高一點。

【示例】計算 String 類型與 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();
    }
}

運行結果:

 知識點補充:

從上圖的運行結果可以看出,在拼接字符串過程中,使用 StringBuilder 對象,而不使用 String 對象。這是因為 String 是不可變的對象,在每一次改變字符串時都會創(chuàng)建一個新的 String 對象;而 StringBuilder 則是可變的字符序列,類似于 String 的字符串緩沖區(qū)。所以,在字符串經常修改的地方使用 StringBuilder ,其效率將高于 String。

在這方面運行速度快慢為:StringBuilder > StringBuffer > String。

線程安全上,StringBuilder 是線程不安全的,而 StringBuffer 是線程安全的。

到此這篇關于Java使用System.currentTimeMillis()方法計算程序運行時間的文章就介紹到這了,更多相關Java計算程序運行時間內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java拆裝箱深度剖析

    Java拆裝箱深度剖析

    這篇文章主要為大家深度剖析了Java拆箱裝箱的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • java數學歸納法非遞歸求斐波那契數列的方法

    java數學歸納法非遞歸求斐波那契數列的方法

    這篇文章主要介紹了java數學歸納法非遞歸求斐波那契數列的方法,涉及java非遞歸算法的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Java開發(fā)之spring security實現基于MongoDB的認證功能

    Java開發(fā)之spring security實現基于MongoDB的認證功能

    這篇文章主要介紹了Java開發(fā)之spring security實現基于MongoDB的認證功能,結合實例形式分析了spring security在非JDBC環(huán)境下的自定義認證服務實現技巧,需要的朋友可以參考下
    2017-11-11
  • 使用Java編寫控制JDBC連接、執(zhí)行及關閉的工具類

    使用Java編寫控制JDBC連接、執(zhí)行及關閉的工具類

    這篇文章主要介紹了如何使用Java來編寫控制JDBC連接、執(zhí)行及關閉的程序,包括一個針對各種數據庫通用的釋放資源的工具類的寫法,需要的朋友可以參考下
    2016-03-03
  • Thread.sleep(0)的寫法原理深入解析

    Thread.sleep(0)的寫法原理深入解析

    這篇文章主要為大家介紹了Thread.sleep(0)的寫法原理深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • JDBC中Statement和Preparement的使用講解

    JDBC中Statement和Preparement的使用講解

    今天小編就為大家分享一篇關于JDBC中Statement和Preparement的使用講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • java堆排序概念原理介紹

    java堆排序概念原理介紹

    在本篇文章里我們給大家分享了關于java堆排序的概念原理相關知識點內容,有需要的朋友們可以學習下。
    2018-10-10
  • Mybatis基于注解與XML開發(fā)使用流程

    Mybatis基于注解與XML開發(fā)使用流程

    MyBatis是Java的持久化框架,目的是為了使操作數據庫更加方便、靈活、高效,可以通過Java注解和XML文件來映射Java對象和SQL語句,提供了非常靈活的SQL編寫方式和動態(tài)SQL語句的創(chuàng)建方式,這篇文章主要介紹了Mybatis基于注解與XML開發(fā),需要的朋友可以參考下
    2023-07-07
  • Java守護線程用法實例分析

    Java守護線程用法實例分析

    這篇文章主要介紹了Java守護線程用法,結合實例形式分析了java守護線程相關的原理、用法及相關操作注意事項,需要的朋友可以參考下
    2019-10-10
  • 一個例子帶你看懂Java中synchronized關鍵字到底怎么用

    一個例子帶你看懂Java中synchronized關鍵字到底怎么用

    synchronized是Java里的一個關鍵字,起到的一個效果是"監(jiān)視器鎖",它的功能就是保證操作的原子性,同時禁止指令重排序和保證內存的可見性,下面這篇文章主要給大家介紹了關于如何通過一個例子帶你看懂Java中synchronized關鍵字到底怎么用的相關資料,需要的朋友可以參考下
    2022-10-10

最新評論