摘要:負責加載當前應用的中的所有類。關(guān)于自定義而我們公司采用的框架是自定義引入包按照字母順序來加載,所以會出現(xiàn)某個依賴的低版本的包先行加載到中,導致出現(xiàn)或者
問題
開發(fā)一個小功能,遇到了No such method ,因為沒有源碼,一直以為攔截器的問題導致404,單步調(diào)試過程中發(fā)現(xiàn)只要運行StringUtils.substringsBetween 這段代碼就會有問題。
好奇心趨勢一直調(diào)試這個問題,懷疑是不是像上次一樣JDK版本的問題導致的?
后來確認同事也是用的JDK1.8版本,而且這個方法也不是原生的,咨詢同事原來是因為包沖突的問題導致。
修復問題StringUtils 是commons-lang下面的一個包,而用這個包的地方很多,很容易出現(xiàn)版本沖突的問題。這時候就要想辦法解決包沖突,問題解決。
為什么線上沒有問題,線下調(diào)試會出現(xiàn)問題?這是一個值得深層次思考的問題,
classloader加載類有幾種方式:使用Bootstrap Classloader來加載jdk或者jre的類。負責加載java基礎類,主要是 %JRE_HOME/lib/ 目錄下的rt.jar、resources.jar、charsets.jar和class等
使用Extension Classloader來加載,你可以把需要加載的jar都扔到%JRE_HOME%/lib/ext下面,這個目錄下的jar包會在Bootstrap Classloader工作完后由Extension Classloader來加載。非常方便,非常省心。:)
App ClassLoader 負責加載當前java應用的classpath中的所有類。
關(guān)于自定義ClassLoader
而我們公司采用的SOA框架是自定義ClassLoader,引入jar包按照字母順序來加載,所以會出現(xiàn)某個jar 依賴的低版本的jar包先行加載到classLoader中,導致出現(xiàn)No such method 或者 No such Class
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/70602.html
摘要:的官方類型是,文件擴展名是。值與值之間使用逗號分隔。通過以上兩種結(jié)構(gòu)可以表示各種復雜結(jié)構(gòu)。對象示例對象由一系列無序的鍵值對組成。方法生成的字符串表示。對于基本類型如則會返回該類型近乎友好的值,詳見續(xù)表。 JSON JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,它使得人們能夠輕易地閱讀和編寫,同時也方便機器進行解析和生成。盡管 JSON 脫...
摘要:今天在第步上花了個多小時,好在最后完成了,現(xiàn)把問題和記錄下來。循環(huán)還要多多練習。前提是之前的判斷中的其他情況會 今天在 FreeCodeCamp 第215步上花了1個多小時,好在最后完成了,現(xiàn)把問題和code記錄下來。 題目: Profile LookupWe have an array of objects representing different people in our c...
摘要:排序的算法是歸并排序。舉個例子,的算法可以不是使用歸并排序,但是該算法一定要是穩(wěn)定的。這個類是的一部分。官方這個類只包含操作或返回集合的靜態(tài)方法。具體來說是,第一步,先把集合轉(zhuǎn)換為數(shù)組,第二步,調(diào)用。和沒有什么區(qū)別,只是傳參有點不同。 Arrays 1.作用看類的名字,就知道是對數(shù)組(數(shù)據(jù)類型[])進行各種操作。例如,排序、查找、復制等。 排序的算法是歸并排序。查找的算法是二分查找。復...
閱讀 959·2019-08-30 14:24
閱讀 998·2019-08-30 14:13
閱讀 1803·2019-08-29 17:21
閱讀 2687·2019-08-29 13:44
閱讀 1664·2019-08-29 11:04
閱讀 444·2019-08-26 10:44
閱讀 2571·2019-08-23 14:04
閱讀 913·2019-08-23 12:08