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

Java Process詳解及實例

 更新時間:2017年07月03日 09:21:15   投稿:lqh  
這篇文章主要介紹了Java Process詳解及實例的相關(guān)資料,需要的朋友可以參考下

Runtime

Java可以通過Runtime來調(diào)用其他進程,如cmd命令,shell文件的執(zhí)行等。可以應該該類設(shè)置系統(tǒng)時間,執(zhí)行shell文件。此處記錄幾個有用應用如下。

設(shè)置本地時間

可以調(diào)用cmd /c date命令,完成本地時間設(shè)置,不過這個命令在win7下可以使用,但是win10需要管理員權(quán)限,可能無法設(shè)置系統(tǒng)時間。win7下使用Java實現(xiàn)修改本地時間代碼如下,需要注意的是waitFor是必須的,否則無法立即生效。

 /**
   * 設(shè)置本地日期
   * @param date yyyy-MM-dd格式
   */
  private static void setSystemDate(String date){
    Process process = null;
    String command1 = "cmd /c date "+date;
    System.out.println(command1);
    try {
      process = Runtime.getRuntime().exec(command1);
      //必須等待該進程結(jié)束,否則時間設(shè)置就無法生效
      process.waitFor();
    } catch (IOException | InterruptedException e) {
      e.printStackTrace();
    }finally{
      if(process!=null){
        process.destroy();
      }
    }
  }

網(wǎng)卡吞吐量計算

可以通過cat /proc/net/dev命令獲取網(wǎng)卡信息,兩次獲取網(wǎng)卡發(fā)送和接收數(shù)據(jù)包的信息,來計算網(wǎng)卡吞吐量。實現(xiàn)如下:

 /**
   * @Purpose:采集網(wǎng)絡帶寬使用量
   * @param args
   * @return float,網(wǎng)絡帶寬已使用量
   */
  public static Double getNetworkThoughput() {
     Double curRate = 0.0;
    Runtime r = Runtime.getRuntime();

    // 第一次采集流量數(shù)據(jù)
    long startTime = System.currentTimeMillis();
    long total1 = calculateThoughout(r);

    // 休眠1秒后,再次收集
    try {
      Thread.sleep(1000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }

    // 第二次采集流量數(shù)據(jù)
    long endTime = System.currentTimeMillis();
    long total2 = calculateThoughout(r);

    // 計算該段時間內(nèi)的吞吐量:單位為Mbps(million bit per second)
    double interval = (endTime-startTime)/1000;
    curRate = (total2-total1)*8/1000000*interval;

    System.out.println("收集網(wǎng)絡帶寬使用率結(jié)束,當前設(shè)備的網(wǎng)卡吞吐量為:"+(curRate)+"Mbps.");
    return curRate;
  }

  /**
   * 計算某個時刻網(wǎng)卡的收發(fā)數(shù)據(jù)總量
   * @param runtime
   * @return
   */
  private static long calculateThoughout(Runtime runtime){
    Process process = null;
    String command = "cat /proc/net/dev";
    BufferedReader reader = null;
    String line = null;
    long total = 0;
    try {
      process = runtime.exec(command);
      reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
      while ((line = reader.readLine()) != null) {
        line = line.trim();
        // 考慮多網(wǎng)卡的情況
        if (line.startsWith("eth")) {
          log.debug(line);
          line = line.substring(5).trim();
          String[] temp = line.split("\\s+");
          total+=(Long.parseLong(temp[0].trim()));// Receive
          total+=(Long.parseLong(temp[8].trim()));// Transmit
        }
      }
    } catch (NumberFormatException | IOException e) {
      e.printStackTrace();
    } finally {
      if (reader != null) {
        try {
          reader.close();
        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }

      if (process != null) {
        process.destroy();
      }
    }
    return total;
  }

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • mybatis-plus更新字段為null的處理方式

    mybatis-plus更新字段為null的處理方式

    這篇文章主要介紹了mybatis-plus更新字段為null的處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 一起來學習Java IO的轉(zhuǎn)化流

    一起來學習Java IO的轉(zhuǎn)化流

    這篇文章主要為大家詳細介紹了Java IO的轉(zhuǎn)化流,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • EasyUi+Spring Data 實現(xiàn)按條件分頁查詢的實例代碼

    EasyUi+Spring Data 實現(xiàn)按條件分頁查詢的實例代碼

    這篇文章主要介紹了EasyUi+Spring Data 實現(xiàn)按條件分頁查詢的實例代碼,非常具有實用價值,需要的朋友可以參考下
    2017-07-07
  • Spring整合JPA與Hibernate流程詳解

    Spring整合JPA與Hibernate流程詳解

    這篇文章主要介紹了Spring整合Hibernate與JPA,在正式進入Hibernate的高級應用之前,需要了解聲明是數(shù)據(jù)模型與領(lǐng)域模型,這兩個概念將會幫助我們更好的理解實體對象的關(guān)聯(lián)關(guān)系映射
    2023-01-01
  • SpringCloud使用Ribbon實現(xiàn)負載均衡的流程步驟

    SpringCloud使用Ribbon實現(xiàn)負載均衡的流程步驟

    在微服務架構(gòu)中,負載均衡是一項關(guān)鍵的技術(shù),它可以確保各個服務節(jié)點間的負載分布均勻,提高整個系統(tǒng)的穩(wěn)定性和性能,Spring Cloud 中的 Ribbon 就是一種負載均衡的解決方案,本文將深入探討 Ribbon 的原理和在微服務中的應用,需要的朋友可以參考下
    2024-02-02
  • springboot實現(xiàn)小程序支付的項目實踐

    springboot實現(xiàn)小程序支付的項目實踐

    本文主要介紹了springboot實現(xiàn)小程序支付的項目實踐,?可以通過調(diào)用微信支付?API?實現(xiàn)支付功能,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • 淺談Java垃圾回收的實現(xiàn)過程

    淺談Java垃圾回收的實現(xiàn)過程

    這篇文章主要介紹了淺談Java垃圾回收的實現(xiàn)過程,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • 詳解如何使用MyBatis簡化JDBC開發(fā)

    詳解如何使用MyBatis簡化JDBC開發(fā)

    JavaEE?企業(yè)級?Java?項目中的經(jīng)典三層架構(gòu)為表現(xiàn)層,業(yè)務層和持久層.MyBatis?對?JDBC?代碼進行了封裝,作為一款優(yōu)秀的持久層框架,專門用于簡化JDBC開發(fā).本文主要介紹一下如何使用MyBatis簡化JDBC開發(fā),需要的可以參考一下
    2023-01-01
  • Java?POI庫從入門到精通舉例詳解

    Java?POI庫從入門到精通舉例詳解

    Apache?POI是一個開源項目,能夠讓Java程序員讀取和寫入Microsoft?Office格式的文件,包括Excel、Word和PowerPoint等,本文詳細介紹了POI庫的安裝、結(jié)構(gòu)與功能,以及如何在Java中進行基本操作和進階應用,需要的朋友可以參考下
    2024-10-10
  • 玩轉(zhuǎn)spring boot 結(jié)合jQuery和AngularJs(3)

    玩轉(zhuǎn)spring boot 結(jié)合jQuery和AngularJs(3)

    玩轉(zhuǎn)spring boot,這篇文章主要介紹了結(jié)合jQuery和AngularJs,玩轉(zhuǎn)spring boot,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評論

翁牛特旗| 昌黎县| 睢宁县| 吴旗县| 略阳县| 三台县| 社旗县| 左权县| 扶余县| 雅江县| 彭泽县| 泉州市| 祁连县| 诏安县| 克拉玛依市| 开化县| 汉阴县| 荔浦县| 色达县| 女性| 万年县| 屏山县| 维西| 沁阳市| 科技| 兴业县| 辽中县| 沂南县| 定安县| 泸水县| 凤庆县| 白玉县| 都江堰市| 乌兰察布市| 巴林左旗| 遵义市| 台湾省| 武清区| 尖扎县| 黔西县| 孝感市|