国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用特定的包在Java中高效處理日志記錄

2019-11-18 12:04:18
字體:
來源:轉載
供稿:網友

  這幾天,由于工作的原因對以前開發的系統進行了測試。這個系統主要作用就是傳輸數據,將一個數據庫的數據搬到另外一個數據庫中,期間可能需要通過Internet,而目標的接收者也不一定再線的這么一個咚咚。
  
    測試了兩種數據庫,分別對其進行數據轉入轉出處理。常被人說你寫的程序效率低,不可用。其實不然,這次測試發現原來配置非常重要:
  
    1) 編碼
  
    由于程序使用java寫的,又要兼容各個不同的數據庫,因而需要對字符串型的數據進行編碼轉換。
  
    String str = new String(rs.getString(i).getByte(databaseEncoding));
  
    當數據量小的時候,察覺不出來,當數據量大時就發現這個消耗有些驚人。
  
    if(databaseEncoding.equals(fileEncoding)){
  
      return new String(rs.getString(i).getByte(databaseEncoding));
  
    }
  
    經過更改后,當fileEncoding和databaseEncoding時,數據處理效率提高5倍以上。
  
    2)硬盤
  
    在做測試時,當數據庫與應用在同一臺機器上時,發現硬盤燈從來就沒有熄滅過。移開應用程序到另外一臺機,重現測試,發現性能至少提高50%。這和我以前的經驗相反。經過分析發現,原來我使用的是筆記本,硬盤只有4200rpm。當數據量大時,硬盤根本應付不過來。分開應用后,JDBC寫入數據的網絡通信開銷要小于硬盤資源爭奪的開銷,速度當然提上去了。
  
    看來不同環境下同一應用,做測試結論不一定都相同。
  
    3)綜合損耗
  
    做測試時,發現系統最優性能既不是數據較小時,也不是數據最大時,而是在一個中間值。分析發現,程序運行有一些“綜合損耗”,這些綜合損耗不論你數據大或小都客觀存在,如取數據連接、格式校驗等。當數據量小時,這些損耗占的時間比重就多,而當數據量大時,雖然這些綜合損耗占的比重少,但是數據量大占的“動態損耗就多了”。只有在中間某一個值時,兩種損耗都不是非凡顯現時,系統運行的效率達到了最高值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 楚雄市| 冀州市| 英超| 镇巴县| 中阳县| 南丹县| 轮台县| 黑山县| 孝义市| 仁寿县| 疏勒县| 甘肃省| 防城港市| 阳信县| 迁西县| 来宾市| 五华县| 瑞安市| 呼图壁县| 五华县| 万宁市| 西畴县| 襄垣县| 福州市| 玉溪市| 连南| 彩票| 山西省| 博爱县| 绥江县| 安顺市| 尼玛县| 南宁市| 长葛市| 社旗县| 凌源市| 益阳市| 神池县| 谷城县| 容城县| 兰考县|