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

解決JavaMail附件名字過長導(dǎo)致的亂碼問題

 更新時間:2020年10月10日 14:48:29   作者:hui008  
這篇文章主要介紹了解決JavaMail附件名字過長導(dǎo)致的亂碼問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

問題背景:

公司有個業(yè)務(wù)場景是審核客戶機(jī)構(gòu)通過后,給客戶發(fā)送一封郵件,并將機(jī)構(gòu)相關(guān)材料以附件形式一塊發(fā)送,有些附件名正常,有些就亂了,如下圖:

后來發(fā)現(xiàn)是附近名稱過長導(dǎo)致的!

問題原因:java mail中設(shè)置附件名稱會采用 base64格式進(jìn)行編碼,如果附件名稱過長會被進(jìn)行切割,將剩下字符抹去,所以導(dǎo)致不知道這是什么格式的文件。

注:雖然將文件格式被改變了,但是若強(qiáng)制轉(zhuǎn)換成原格式(右鍵->另存為->xxx.pdf) 仍然可以進(jìn)行打開,文件內(nèi)容也并非改變(這是測試后的結(jié)果)

解決方案:

由于是spring boot 項目,只需要在main方法中加入以下 代碼即可(大概意思就是,取消切割,默認(rèn)是true)

System.setProperty("mail.mime.splitlongparameters", "false");

補(bǔ)充知識:LinkedList的增刪一定比ArrayList快嗎?

1.背景

眾所周知,arrayList底層是通過數(shù)組實現(xiàn),當(dāng)其超過容量時,會進(jìn)行1.5的擴(kuò)容,將原數(shù)組數(shù)據(jù)遷移至新數(shù)組中。

而LinkedList底層為雙向鏈表,其增加操作直接在尾部新增一個node節(jié)點(diǎn)即可。

那么,在插入相同的數(shù)據(jù)情況下(集合默認(rèn)長度都是0),到底誰更快呢?

2.案例

  public static void main(String[] args) {
    List<String> array = new ArrayList<>();
    List<String> linked = new LinkedList<>();
    long start = System.currentTimeMillis();
    int index = 10000000;
    for (int i = 0; i < index; i++) {
      array.add("" + i);
    }
    long end = System.currentTimeMillis();
    System.out.println("ArrayList用時:" + (end - start) / 1000 + "s");
 
    start = System.currentTimeMillis();
    for (int i = 0; i < index; i++) {
      linked.add("" + i);
    }
    end = System.currentTimeMillis();
    System.out.println("LinkedList用時:" + (end - start) / 1000 + "s");
 
  }

3.結(jié)果

4.分析

此處我是這么理解的,arrayList是通過下標(biāo)直接去放入數(shù)據(jù),而linked需要創(chuàng)建一個Node然后 將數(shù)據(jù)放入,再與前節(jié)點(diǎn)建立鏈接。

然后不需要擴(kuò)容的情況下,明顯arrayList快,那么擴(kuò)容呢?其實我們測試用的是尾部插入。

也就是arrayList擴(kuò)容后直接將前面的數(shù)據(jù)放入對應(yīng)下標(biāo),之后的在繼續(xù)按照下標(biāo)插入就行,也就是有序在尾部插入。

如果數(shù)據(jù)量大通過尾部插入的話(不指定下標(biāo),默認(rèn)就是在尾部插入),linked的插入需要建立對應(yīng)的對象,綁定關(guān)系,

而array則直接放置,其擴(kuò)容也是按照原來順序放入新數(shù)組,速度比較鏈表 要更快。

我還專門做了一個按照頭部插入的方式,發(fā)現(xiàn)這時明顯鏈表高于數(shù)組的速度。

5.總結(jié)(個人觀點(diǎn))

數(shù)組比之鏈表:

在需要擴(kuò)容的前提下

插入效率隨著下標(biāo)的遞增,其性能逐漸由鏈表偏向數(shù)組。

下標(biāo)靠中間(鏈表的查詢慘不忍睹),所以其中間效率也是極低的

而數(shù)組插入的下標(biāo)靠前,會涉及其下標(biāo)之后元素移位操作,所以index越靠前插入,效率越低

6.插入性能

以上這篇解決JavaMail附件名字過長導(dǎo)致的亂碼問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

朝阳区| 陇南市| 宜兴市| 玉门市| 调兵山市| 渑池县| 遂平县| 都昌县| 利辛县| 霍林郭勒市| 环江| 进贤县| 新干县| 宁德市| 涡阳县| 宜兰市| 萝北县| 昌都县| 平塘县| 晋江市| 安新县| 红河县| 尤溪县| 宿州市| 宁城县| 名山县| 方正县| 永福县| 右玉县| 德阳市| 佛教| 防城港市| 颍上县| 中江县| 宜君县| 淮安市| 南溪县| 杂多县| 虞城县| 兴义市| 涞水县|