Issues List

  1. 文件監(jiān)聽
    使用文件監(jiān)聽時需要注意,接受到文件創(chuàng)建事件時。當前文件寫入工作不一定完成。所以受關(guān)注的文件不應(yīng)當直接在受監(jiān)控的目錄下創(chuàng)建,而應(yīng)該創(chuàng)建臨時文件然后copy到受監(jiān)控的目錄
  2. Base64
    將參數(shù)通過Base64編碼然后提交到服務(wù)器,“+” 號被替換為空格
  3. 慎用File#renameTo
    File#renameTo不等同于mv,不能再不同文件系統(tǒng)間移動文件。例如:
//centos filesystem:xfs
Path tempFile = Files.createTempFile(null, null);
// write something to tempFile
// filesystem ext4 
File dest = new File("/data/something.txt");
boolean suc = tempFile.toFile().renameTo(dest)
//會返回false,文件移動失敗

當遇到多文件系統(tǒng)的時候,請盡量避免使用File#renameTo(File)方法,可是使用apache的commons-io包去替換,避免一些潛在BUG。

  1. 注意Java8 多個 Stream 流同時執(zhí)行時,順序是不固定的
  2. Java8 Stream Collector.groupBy 默認采用HashMap收集結(jié)果,而HashMap是無序的。如果你對結(jié)果有順序要求,請顯示指定LinkedHashMap::new(可以記錄插入的順序)以確保集合順序被延續(xù)到新的結(jié)果集。
//思考這樣一段代碼
List<Integer> numList= Arrays.asList(1, 2, 2, 3, 3,3, 4,4,4,4)
Map<Integer, Integer> numCountMap = numList.stream().collect(Collector.groupBy(w ->w, Collector.counting()))
// 期望結(jié)果
numCountMap << [{1, 1}, {2, 2}, {3, 3}, {4,4}]
// 實際上順序是不能被保證的,你應(yīng)該采用下面的方法保證numList的順序被傳遞到numCountMap

Map<Integer, Integer> numCountMap = numList.stream().collect(Collector.groupBy(w ->w, LinkedHashMap::new, Collector.counting()))
  1. 如果新引入的特性不能在短時間內(nèi)驗證,應(yīng)該立即回歸主線。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時...
    歐辰_OSR閱讀 29,520評論 8 265
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,203評論 2 33
  • (一)適者生存 昨晚,程先生的公司舉辦了高大上的年會,公司獎勵他一座水晶獎杯外加一個紅...
    鹿鳴閣主閱讀 218評論 0 6
  • 我是一個既糾結(jié)又矛盾的人,我不敢愛不敢恨,甚至于不敢大聲的講出自己的想法,我從骨子里是自卑的,我膽怯別人的目光,我...
    Danr閱讀 176評論 0 2