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

Java Process詳解及實(shí)例

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

Runtime

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

設(shè)置本地時(shí)間

可以調(diào)用cmd /c date命令,完成本地時(shí)間設(shè)置,不過這個(gè)命令在win7下可以使用,但是win10需要管理員權(quán)限,可能無法設(shè)置系統(tǒng)時(shí)間。win7下使用Java實(shí)現(xiàn)修改本地時(shí)間代碼如下,需要注意的是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);
      //必須等待該進(jìn)程結(jié)束,否則時(shí)間設(shè)置就無法生效
      process.waitFor();
    } catch (IOException | InterruptedException e) {
      e.printStackTrace();
    }finally{
      if(process!=null){
        process.destroy();
      }
    }
  }

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

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

 /**
   * @Purpose:采集網(wǎng)絡(luò)帶寬使用量
   * @param args
   * @return float,網(wǎng)絡(luò)帶寬已使用量
   */
  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);

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

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

  /**
   * 計(jì)算某個(gè)時(shí)刻網(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;
  }

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

相關(guān)文章

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

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

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

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

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

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

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

    Spring整合JPA與Hibernate流程詳解

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

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

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

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

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

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

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

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

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

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

    Apache?POI是一個(gè)開源項(xiàng)目,能夠讓Java程序員讀取和寫入Microsoft?Office格式的文件,包括Excel、Word和PowerPoint等,本文詳細(xì)介紹了POI庫的安裝、結(jié)構(gòu)與功能,以及如何在Java中進(jìn)行基本操作和進(jìn)階應(yīng)用,需要的朋友可以參考下
    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,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評(píng)論

新疆| 喀喇沁旗| 阳新县| 桂东县| 大同县| 石林| 唐河县| 内江市| 尼勒克县| 定日县| 镇巴县| 墨玉县| 容城县| 吴桥县| 宜宾市| 汉川市| 芮城县| 昌图县| 台前县| 神木县| 永州市| 宜州市| 凤山市| 扎鲁特旗| 汤阴县| 罗平县| 桃源县| 涞源县| 鄂尔多斯市| 湖口县| 龙门县| 米易县| 文登市| 株洲县| 三亚市| 红安县| 大竹县| 周宁县| 乌海市| 张掖市| 龙岩市|