中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做金融類網(wǎng)站西安企業(yè)seo外包服務(wù)公司

做金融類網(wǎng)站,西安企業(yè)seo外包服務(wù)公司,網(wǎng)站如何提高排名,編程自學(xué)免費網(wǎng)站假ArrayList導(dǎo)致的線上事故… 線上事故回顧 晚飯時,當(dāng)我正沉迷于排骨煲肉質(zhì)鮮嫩,湯汁濃郁時,產(chǎn)研溝通群內(nèi)發(fā)出一條消息,顯示用戶存在可用劵,但進(jìn)去劵列表卻什么也沒有,并附含了一個視頻。于是我一邊吃了排…

假ArrayList導(dǎo)致的線上事故…

線上事故回顧

  • 晚飯時,當(dāng)我正沉迷于排骨煲肉質(zhì)鮮嫩,湯汁濃郁時,產(chǎn)研溝通群內(nèi)發(fā)出一條消息,顯示用戶存在可用劵,但進(jìn)去劵列表卻什么也沒有,并附含了一個視頻。于是我一邊吃了排骨,一邊查看消息點開了視頻,en~,視頻跟描述一樣。但沒有系統(tǒng)告警,用戶界面也沒有明顯的報錯提示,懷疑是小部分特殊情況導(dǎo)致的,查看消息后幾秒,我直接被@來處理問題,擦,只好把外賣盒重新蓋好,先去處理問題。

處理經(jīng)過

  • 通過群內(nèi)產(chǎn)品發(fā)的用戶郵箱查到了用戶id,再根據(jù)接口的相關(guān)日志結(jié)合uid在日志平臺進(jìn)行關(guān)聯(lián)查詢,查到日志后,再拿到traceId進(jìn)行鏈路查詢,果不其然,發(fā)現(xiàn)了異常日志,如下部分日志所示

  • java.lang.UnsupportedOperationException: nullat java.util.AbstractList.add(AbstractList.java:148) ~[na:1.8.0_151]at java.util.AbstractList.add(AbstractList.java:108) ~[na:1.8.0_151]
    
  • UnsupportedOperationException是個什么玩意

  • @Slf4j
    @SpringBootTest
    public class Demo {public void test(Context context) { context.getList().add("皮皮蝦");}}@Data
    class Context {private List<String> list;}
    
  • 基本操作就是拿到上下文中的List,然后再add一個元素

  • 講道理,add操作是不會有問題的,有問題的還得是List,追根溯源,讓我康康這個List是怎么來的于是我一頓狂點,來到了set這個list的位置

  • @Slf4j
    @SpringBootTest
    public class Demo {public void test(Context context) {context.setList(Arrays.asList("皮皮蝦"));}}@Data
    class Context {private List<String> list;}
    
  • context.setList(Arrays.asList("Code皮皮蝦")); 這行看起來好像沒問題啊Arrays.asList(T... a)我們平時也會用,傳入一個數(shù)組,返回出一個List沒啥問題呀

  • 那我再試試add方法 ,擦,問題復(fù)現(xiàn)了,還真是Arrays.asList(T... a)生成的List的add方法報錯,由于線上存在問題,則先修改為以下代碼上線,也就是修改為我們平時正常的寫法, 上線后,觀察了下日志,群里回復(fù)已解決問題,也讓用戶重試,發(fā)現(xiàn)沒問題,自此問題解決。

追根溯源

  • 進(jìn)入asList方法,發(fā)現(xiàn)底層new了一個ArrayList,并將數(shù)組傳入作為List的元素

  • @SafeVarargs
    @SuppressWarnings("varargs")
    public static <T> List<T> asList(T... a) {return new ArrayList<>(a);
    }
    
  • emm,看起來很簡單啊,沒問題啊,咋會報錯呢?別著急,咱們在點開這個ArrayList瞅瞅

  • private static class ArrayList<E> extends AbstractList<E>implements RandomAccess, java.io.Serializable
    {private static final long serialVersionUID = -2764017481108945198L;private final E[] a;ArrayList(E[] array) {a = Objects.requireNonNull(array);}// ... 省略
    }
    
  • 擦,這ArrayListArrays類的一個靜態(tài)內(nèi)部類,不是我們經(jīng)常用的java.util.ArrayList 繼續(xù)看,這個靜態(tài)內(nèi)部類ArrayList繼承了AbstractList,而且默認(rèn)是沒有實現(xiàn)add方法的.也就是說調(diào)用add方法會直接調(diào)用父類,也就是AbstractListadd方法,源碼點開一看,真相大白了.AbstractListadd方法直接拋出UnsupportedOperationException異常,跟線上報錯一模一樣!!

http://www.risenshineclean.com/news/28065.html

相關(guān)文章:

  • 做html網(wǎng)站搜索框代碼新浪輿情通官網(wǎng)
  • asp網(wǎng)站搭建軟件南寧網(wǎng)站優(yōu)化
  • 代替手動修改網(wǎng)站模板標(biāo)簽seo標(biāo)題優(yōu)化分析范文
  • 網(wǎng)站標(biāo)題如何書寫軟文接單平臺
  • 泰州網(wǎng)站設(shè)計哪家好網(wǎng)上營銷的平臺有哪些
  • 網(wǎng)站建設(shè)技能描述免費發(fā)布推廣平臺
  • nike網(wǎng)站建設(shè)方案診斷網(wǎng)站seo現(xiàn)狀的方法
  • 西安網(wǎng)站制作百億科技全國廣告投放平臺
  • 石家莊做網(wǎng)站的公司有哪些怎么制作鏈接網(wǎng)頁
  • 建模培訓(xùn)機(jī)構(gòu)優(yōu)化seo網(wǎng)站
  • 怎么在58上做公司網(wǎng)站企業(yè)網(wǎng)站推廣方案策劃
  • 幫網(wǎng)貸做網(wǎng)站會判刑嗎網(wǎng)站加速器
  • 個人網(wǎng)站營業(yè)執(zhí)照百度搜索引擎地址
  • WordPress P站優(yōu)化二十條
  • 如何做資源論壇網(wǎng)站百度推廣和優(yōu)化哪個好
  • 南昌網(wǎng)站建設(shè)費用四川seo優(yōu)化
  • 做網(wǎng)站的要多錢百度關(guān)鍵詞優(yōu)化
  • 網(wǎng)站開發(fā)難點站長工具seo查詢
  • wordpress添加文章副標(biāo)題谷歌seo服務(wù)商
  • 泰興網(wǎng)站制作網(wǎng)絡(luò)營銷策劃方案模板
  • 搭建網(wǎng)站做財務(wù)系統(tǒng)網(wǎng)站建設(shè)流程步驟
  • 網(wǎng)友seo排名賺掛機(jī)
  • 成功網(wǎng)站管理系統(tǒng)十大網(wǎng)絡(luò)推廣公司排名
  • 做網(wǎng)站宣傳多少錢如何快速網(wǎng)絡(luò)推廣
  • 做網(wǎng)站的外包能學(xué)到什么磁力蜘蛛
  • 大連網(wǎng)站建設(shè)seo怎么去優(yōu)化
  • 重慶市衛(wèi)生健康委員會福州短視頻seo網(wǎng)站
  • 天津重型網(wǎng)站建設(shè)推薦沈陽網(wǎng)站seo公司
  • 國內(nèi)外網(wǎng)站建設(shè)長沙關(guān)鍵詞優(yōu)化平臺
  • 手機(jī)打開網(wǎng)站自動跳轉(zhuǎn)網(wǎng)站優(yōu)化排名推薦