hadoop web中檢視檔案內容亂碼解決

2021-09-02 06:44:12 字數 649 閱讀 3951

錯誤描述:在50075檢視hdfs資料檔案中有 & 符號時,中文資料亂亂碼

錯誤原因:系統預設字符集:charset.defaultcharset().name() 為utf-8,但是在系統在web程式中取出得編碼值為:us-ascii。在字串編碼時,預設使用的是us-ascii字符集,該字符集應該是utf-8子集中的單字符集,導致中文無法由byte拼裝還原。

參考:string類

public string(byte bytes, int offset, int length)

public byte getbytes()

問題解決:

包:hadoop-common-2.3.0-cdh5.0.1.jar

類:org.apache.hadoop.http.htmlquoting 

修改**:

public static string quotehtmlchars(string item) catch (ioexception ioe) else {

return item;

備註:1. utf-8={us-ascii + 多字符集}

2. 字串解碼還原時,使用的是utf-8字符集

3. 單獨測試,系統預設用utf-8進行編碼,但是htmlquoting中卻用us-ascii編碼

adb shell dumpsys命令 檢視記憶體

具體每一項代表什麼,參考 我們比較關心的是這2行 其中size是需要的記憶體,而allocated是分配了的記憶體,對應的2列分別是native和dalvik,當總數也就是total這一列超過單個程式記憶體的最大限制時,oom就很有可能會出現了。1.decode bitmap 的時候,盡量配置下op...

adb shell dumpsys 命令 檢視記憶體

具體每一項代表什麼,參考 我們比較關心的是這2行 其中size是需要的記憶體,而allocated是分配了的記憶體,對應的2列分別是native和dalvik,當總數也就是total這一列超過單個程式記憶體的最大限制時,oom就很有可能會出現了。1.decode bitmap 的時候,盡量配置下op...

adb shell dumpsys 命令 檢視記憶體

具體每一項代表什麼,參考 我們比較關心的是這2行 其中size是需要的記憶體,而allocated是分配了的記憶體,對應的2列分別是native和dalvik,當總數也就是total這一列超過單個程式記憶體的最大限制時,oom就很有可能會出現了。多數時候,發生oom 都是在做一些跟相關的操作,以下提...