最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Stopwatch類,性能與時(shí)間計(jì)時(shí)器案例詳解

 更新時(shí)間:2021年09月09日 11:28:47   作者:ajwqb06628  
這篇文章主要介紹了Java Stopwatch類,性能與時(shí)間計(jì)時(shí)器案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

  在研究性能的時(shí)候,完全可以使用Stopwatch計(jì)時(shí)器計(jì)算一項(xiàng)技術(shù)的效率。但是有時(shí)想知道某想技術(shù)的性能的時(shí)候,又常常想不起可以運(yùn)用Stopwatch這個(gè)東西,太可悲了。

屬性:

Elapsed       獲取當(dāng)前實(shí)例測量得出的總運(yùn)行時(shí)間。
ElapsedMilliseconds  獲取當(dāng)前實(shí)例測量得出的總運(yùn)行時(shí)間(以毫秒為單位)。
ElapsedTicks      獲取當(dāng)前實(shí)例測量得出的總運(yùn)行時(shí)間(用計(jì)時(shí)器計(jì)時(shí)周期表示)。
IsRunning        獲取一個(gè)指示 Stopwatch 計(jì)時(shí)器是否在運(yùn)行的值。

方法

GetTimestamp   獲取計(jì)時(shí)器機(jī)制中的當(dāng)前最小時(shí)間單位數(shù)。
Reset        停止時(shí)間間隔測量,并將運(yùn)行時(shí)間重置為零。
Restart       停止時(shí)間間隔測量,將運(yùn)行時(shí)間重置為零,然后開始測量運(yùn)行時(shí)間。
Start         開始或繼續(xù)測量某個(gè)時(shí)間間隔的運(yùn)行時(shí)間。
StartNew       對新的 Stopwatch 實(shí)例進(jìn)行初始化,將運(yùn)行時(shí)間屬性設(shè)置為零,然后開始測量運(yùn)行時(shí)間。
Stop         停止測量某個(gè)時(shí)間間隔的運(yùn)行時(shí)間。

示例:

static void Main(string[] args)
        {
            Stopwatch sw = new Stopwatch();
            sw.Start();     //開始計(jì)時(shí)
            WebClient wc = new WebClient();
            string str = wc.DownloadString("http://www.jmeii.com/");
            Console.WriteLine(sw.IsRunning);    //輸出 true   計(jì)時(shí)器是否在運(yùn)行。
            sw.Stop();      //計(jì)時(shí)結(jié)束
            Console.WriteLine(sw.Elapsed);      //輸出 00:00:00.3452873
            Console.WriteLine(sw.ElapsedMilliseconds);  //輸出 223
            Console.WriteLine(sw.ElapsedTicks); //輸出501838
            Console.WriteLine(sw.IsRunning);    //輸出 flase

            Console.WriteLine(Stopwatch.GetTimestamp());   //輸出56151531319  獲取計(jì)時(shí)器機(jī)制中的當(dāng)前最小時(shí)間單位數(shù)。

            sw.Reset(); //重置
            Console.WriteLine(sw.Elapsed.ToString());   //輸出 00:00:00   //返回的是TimeSpan類型,可以任意處理

            sw.Restart();   //重新開始
            FileStream fs = new FileStream(@"D:\admin_b.txt", FileMode.Open, FileAccess.Read);
            //string str = 
            byte[] byteArr = new byte[fs.Length];
            fs.Read(byteArr, 0, (int)fs.Length);
            Stopwatch sw2 = Stopwatch.StartNew();       //創(chuàng)建一個(gè)新的計(jì)時(shí)器
            string str2 = Encoding.UTF8.GetString(byteArr);
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);  //輸出 10
            Console.WriteLine(sw2.ElapsedMilliseconds); //輸出 9
            sw2.Stop();
            
            Console.ReadKey();
        }

  對比FileStream與File類:

static void Main(string[] args)
        {
            Stopwatch sw = new Stopwatch();
            sw.Start();
            FileStream fs = new FileStream(@"D:\admin_b.txt", FileMode.Open, FileAccess.Read);
            //string str = 
            byte[] byteArr = new byte[fs.Length];
            fs.Read(byteArr, 0, (int)fs.Length);
            string str = Encoding.UTF8.GetString(byteArr);
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);  //輸出 12

            Stopwatch sw2 = new Stopwatch();
            sw2.Start();
            File.ReadAllText(@"E:\admin_b.txt");
            sw2.Stop();
            Console.WriteLine(sw2.ElapsedMilliseconds); //輸出 11

            Console.ReadKey();
        }

  Linq示例:

public class Program
    {
        static void Main(string[] args)
        {
            //獲取到一個(gè)隨機(jī)數(shù)集合
            List<int> ListInt = new List<int>();
            Random r = new Random();
            for (int i = 0; i < 1000000; i++)       //生成一個(gè)1百萬數(shù)字的集合
            {
                ListInt.Add(r.Next(1000));
            }

            Stopwatch sw = new Stopwatch();
            sw.Start();
            int count = 0;
            foreach (var i in ListInt)
            {
                count = count + i;          
            }
            Console.WriteLine("遍歷計(jì)算結(jié)果:" + count);       
            sw.Stop();
            Console.WriteLine("遍歷用時(shí):" + sw.ElapsedMilliseconds);    //輸出 13

            Stopwatch sw2 = new Stopwatch();
            sw2.Start();
            int count2 = 0;
            count2 = ListInt.Sum();
            Console.WriteLine("Linq的計(jì)算結(jié)果:" + count2);
            Console.WriteLine("Linq的使用時(shí)間:" + sw2.ElapsedMilliseconds);  //輸出 12
            sw2.Stop();

            Console.ReadKey();
        }
    }

  運(yùn)行了3,5次,Linq的性能的確厲害。有幾次相等,有幾次少1毫秒。看來Linq to OBJECT還真是靠譜。效率,優(yōu)雅度都相當(dāng)好,不愧是高手做的控件。以后如果對什么技術(shù)又疑問,完全可以用該類來測試,記得,記得,記得得。

到此這篇關(guān)于Java Stopwatch類,性能與時(shí)間計(jì)時(shí)器案例詳解的文章就介紹到這了,更多相關(guān)Java Stopwatch類,性能與時(shí)間計(jì)時(shí)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java壓縮多個(gè)文件并且返回流示例

    java壓縮多個(gè)文件并且返回流示例

    這篇文章主要介紹了java壓縮多個(gè)文件并且返回流示例,返回壓縮流主是為了在程序里再做其它操作,需要的朋友可以參考下
    2014-03-03
  • Spring?注入靜態(tài)對象使用三種方式示例

    Spring?注入靜態(tài)對象使用三種方式示例

    這篇文章主要為大家介紹了Spring注入靜態(tài)對象使用的三種方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Spring全局異常捕獲不生效問題的解決辦法

    Spring全局異常捕獲不生效問題的解決辦法

    Spring項(xiàng)目全局異常處理不生效,登錄接口報(bào)錯(cuò)異常信息被直接返回到接口響應(yīng)中,本文給大家介紹了Spring全局異常捕獲不生效問題的解決辦法,文中有詳細(xì)的圖文介紹,需要的朋友可以參考下
    2024-04-04
  • java8新特性之日期時(shí)間API

    java8新特性之日期時(shí)間API

    這篇文章主要介紹了java8新特性之日期時(shí)間API,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 基于FeignClient調(diào)用超時(shí)的處理方案

    基于FeignClient調(diào)用超時(shí)的處理方案

    這篇文章主要介紹了基于FeignClient調(diào)用超時(shí)的處理方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java小程序計(jì)算圓周率代碼

    Java小程序計(jì)算圓周率代碼

    這篇文章主要介紹了Java小程序計(jì)算圓周率代碼,有兩種實(shí)現(xiàn)方法,喜歡的朋友可以參考下。
    2017-09-09
  • Java基礎(chǔ)之?dāng)?shù)組模擬循環(huán)隊(duì)列

    Java基礎(chǔ)之?dāng)?shù)組模擬循環(huán)隊(duì)列

    這篇文章主要介紹了Java基礎(chǔ)之?dāng)?shù)組模擬循環(huán)隊(duì)列,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java基礎(chǔ)的小伙伴們也有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • java實(shí)現(xiàn)斐波那契數(shù)列的3種方法

    java實(shí)現(xiàn)斐波那契數(shù)列的3種方法

    這篇文章主要介紹了java實(shí)現(xiàn)斐波那契數(shù)列的3種方法,有需要的朋友可以參考一下
    2014-01-01
  • Java實(shí)現(xiàn)簡單訂餐系統(tǒng)

    Java實(shí)現(xiàn)簡單訂餐系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡單訂餐系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Golang Protocol Buffer案例詳解

    Golang Protocol Buffer案例詳解

    這篇文章主要介紹了Golang Protocol Buffer案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08

最新評論

利川市| 伊金霍洛旗| SHOW| 红原县| 望奎县| 昔阳县| 瑞安市| 泰宁县| 美姑县| 鱼台县| 永吉县| 徐闻县| 沈阳市| 龙陵县| 云梦县| 页游| 保靖县| 康平县| 吴旗县| 长治市| 玛沁县| 湖南省| 北宁市| 武隆县| 塔河县| 靖西县| 万全县| 东方市| 孟连| 广元市| 库尔勒市| 加查县| 东台市| 平远县| 石景山区| 高青县| 边坝县| 吉安市| 南平市| 麟游县| 鹿泉市|