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

java 使用簡單的demo實例告訴你優(yōu)化算法的強(qiáng)大

 更新時間:2013年05月02日 15:50:53   作者:  
本篇文章介紹了,在java中使用簡單的demo實例告訴你優(yōu)化算法的強(qiáng)大。需要的朋友參考下

這里的demo是一個累加算法,如1,2,3,4.....n

即:sum = 1+2+3+4......+n;

我們可以這樣做:

復(fù)制代碼 代碼如下:

/**
      * 循環(huán)實現(xiàn)累加方法
      * @param value
      * @return
      */
     private static long cycle(long value) {
         long sum = 0;

         for (long i = 1,v = value; i <= v; i++) {
             sum += i;
         }
         return sum;
     }

另一種方法(高斯方法):
復(fù)制代碼 代碼如下:

/**
      * 高斯方法:<code>(n+1)*n/2</code><br>
      * you can read more from <a >Here</a>
      * @param value
      * @return
      */
     private static long gaosi(long value) {
         long sum = 0;
         sum = (value + 1) * value / 2;
         return sum;
     }

我們可以寫一個demo來測試他們的差別:
復(fù)制代碼 代碼如下:

/**
  *
  */
 package com.b510.arithmetic;

 /**
  * 累加算法實現(xiàn)<br>
  *
  * @date 2013-4-16
  * @author hongten
  *
  */
 public class AddArithmetic {

     /**
      * 循環(huán)實現(xiàn)累加方法
      * @param value
      * @return
      */
     private static long cycle(long value) {
         long sum = 0;

         for (long i = 1,v = value; i <= v; i++) {
             sum += i;
         }
         return sum;
     }

     /**
      * 高斯方法:<code>(n+1)*n/2</code><br>
      * you can read more from <a >Here</a>
      * @param value
      * @return
      */
     private static long gaosi(long value) {
         long sum = 0;
         sum = (value + 1) * value / 2;
         return sum;
     }

     public static void main(String[] args) {
         //清理一下內(nèi)存,但不一定會執(zhí)行
         System.gc();
         // you should change value,then get the different results
         long value = 10000000;
         long sum = 0;
         long start = System.currentTimeMillis();
         sum = cycle(value);
         long end = System.currentTimeMillis();
         System.out.println("使用循環(huán)累加方法從[1]累加到["+value+"]用時 : ["+(end - start) + "]ms,結(jié)果:"+ sum);
         //清理一下內(nèi)存,但不一定會執(zhí)行
         System.gc();
         start = System.currentTimeMillis();
         sum = gaosi(value);
         end = System.currentTimeMillis();
         System.out.println("使用高斯方法從[1]累加到["+value+"]用時 : ["+(end - start) + "]ms,結(jié)果:"+ sum);

     }

 }

你可以改變main方法中的value的值,來測試他們所消耗的系統(tǒng)時間....

當(dāng)然不同配置的機(jī)器運行結(jié)果是不一樣的...

我機(jī)器運行情況:

復(fù)制代碼 代碼如下:

使用循環(huán)累加方法從[1]累加到[10000000]用時 : [24]ms,結(jié)果:50000005000000
使用高斯方法從[1]累加到[10000000]用時 : [0]ms,結(jié)果:50000005000000

相關(guān)文章

  • JAVA中五個重定向的方式盤點

    JAVA中五個重定向的方式盤點

    頁面重定向即頁面從當(dāng)前請求的頁面,有條件或者定時跳轉(zhuǎn)到其他頁面,下面這篇文章主要給大家介紹了關(guān)于JAVA中五個重定向的方式,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • java工具類StringUtils使用實例詳解

    java工具類StringUtils使用實例詳解

    這篇文章主要為大家介紹了java工具類StringUtils使用實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • MyBatis中OGNL的使用教程詳解

    MyBatis中OGNL的使用教程詳解

    有些人可能不知道MyBatis中使用了OGNL,有些人知道用到了OGNL卻不知道在MyBatis中如何使用,下面這篇文章主要介紹了MyBatis中OGNL的使用教程,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-06-06
  • Java中的內(nèi)部類你了解嗎

    Java中的內(nèi)部類你了解嗎

    這篇文章主要為大家介紹了Java的內(nèi)部類,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • java實現(xiàn)登錄驗證碼功能

    java實現(xiàn)登錄驗證碼功能

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)登錄驗證碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • SpringBoot 多Profile使用與切換方式

    SpringBoot 多Profile使用與切換方式

    這篇文章主要介紹了SpringBoot 多Profile使用與切換方式,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Java Stax解析XML示例

    Java Stax解析XML示例

    這篇文章主要介紹了Java Stax解析XML示例,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-09-09
  • java生成圖片驗證碼返回base64圖片信息方式

    java生成圖片驗證碼返回base64圖片信息方式

    這篇文章主要介紹了java生成圖片驗證碼返回base64圖片信息方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Springboot中使用Redisson+AOP+自定義注解實現(xiàn)訪問限流與黑名單攔截

    Springboot中使用Redisson+AOP+自定義注解實現(xiàn)訪問限流與黑名單攔截

    本文主要介紹了Springboot中使用Redisson+AOP+自定義注解實現(xiàn)訪問限流與黑名單攔截,包含針對用戶IP限流,整個接口的訪問限流,以及對某個參數(shù)字段的限流,并且支持請求限流后處理回調(diào),感興趣的可以了解一下
    2024-02-02
  • 詳解slf4j+logback在java工程中的配置

    詳解slf4j+logback在java工程中的配置

    這篇文章主要介紹了slf4j+logback在java工程中的配置,對日志組件logback也進(jìn)行了簡單介紹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-08-08

最新評論