JDK1 7和1 8Base64編碼和解碼的坑

2021-10-08 01:17:35 字數 627 閱讀 1696

jdk1.6和1.7裡對base64編碼和解碼使用的是base64decoder(),而jdk1.8api裡新增了base64,jdk1.8編碼和解碼時不用考慮內容的換行符,而jdk1.6和1.7需要考慮編碼和解碼內容裡的換行符。

編碼:

base64encoder b64 = new base64encoder();

string encode = b64.encode(byte array);

string msg = encode.replaceall("(\\\r\\\n|\\\r|\\\n|\\\n\\\r)", "");

解碼:

base64encoder b64 = new base64encoder();

string str = b64.decodebuffer(string str);

編碼:

string str = base64.getencoder().encodetostring(byte array);
解碼:

string str = base64.getdecoder().decode(string str);

JDK1 7和JDK1 8HashMap的區別

jdk1.7與jdk1.8中hashmap區別 最重要的一點是底層結構不一樣,1.7是陣列 鍊錶,1.8則是陣列 鍊錶 紅黑樹結構 jdk1.7中當雜湊表為空時,會先呼叫inflatetable 初始化乙個陣列 而1.8則是直接呼叫resize 擴容 插入鍵值對的put方法的區別,1.8中會將節點插...

關於 JDK1 7 和 JDK1 8 的區別

jdk1.8 在 jdk1.7的基礎上新增了如下功能 1 default關鍵字 實現的介面中如果有 default 修飾的方法,實現類可以不重寫此方法 2 lambda 表示式,函式式程式設計,函式式程式設計就是一種抽象程度很高的程式設計正規化,對一些只使用一次的介面的編碼進行了優化 3 函式式介面...

JDK1 8中的hashmap和JDK1 7的區別

1.資料插入的方式不同 jdk1.7用的是頭插法,而jdk1.8用的是尾插法,這是由於jdk1.7是用單鏈表進行的縱向延伸,當採用頭插法時會容易出現逆序且環形鍊錶死迴圈問題。但是在jdk1.8之後是因為加入了紅黑樹使用尾插法,能夠避免出現逆序且鍊錶死迴圈的問題。2.組成結構不同 jdk1.7的時候使...