不要使用sun.misc.BASE64Encoder
不要使用sun.misc.BASE64Encoder
一直以來Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的
這次換了JDK後發現提示找不到該類,網上有辦法說重新配置jre就行了,但事實上不是這麼簡單的,在我測試後發現,這是要看配置的jre的型別是execution environment(執行環境),還是alternate jre(替代jre)
這兩種方法中,如果是第一種就不行,因為是執行環境,也就是不會含JDK的一些額外類,rt.jar中的很多包都會因為jre與jdk許可權不同而導致被限定許可權,其中就包含了sun包。
如果是第二種方法,即JDK替代jre,這就沒問題,因為使用的是jdk的許可權,所以不會報這類的錯誤。
事實上,這兩個方法都是sun公司的內部方法,並沒有在java api中公開過,所以使用這些方法是不安全的,將來隨時可能會從中去除,所以相應的應該使用替代的物件及方法
如:org.apache.commons.codec.binary.Base64類
原部落格地址:http://fableking.iteye.com/blog/1426410
相關推薦
不要使用sun.misc.BASE64Encoder
不要使用sun.misc.BASE64Encoder 一直以來Base64的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder的 這次換了JDK後發現提示找不到該類,網上有辦法說重新配置jre就行了,但事實上不是這麼簡單的,在我測試後
sun.misc.BASE64Encoder找不到jar包的解決方法
access warnings chang com 只需要 方案 屬性 acc UC 1.右鍵項目-》屬性-》java bulid path-》jre System Library-》access rules-》resolution選擇accessible,下面填上** 點
sun.misc.BASE64Encoder----》找不到jar包的解決方法
1.右鍵專案-》屬性-》java bulid path-》jre System Library-》access rules-》resolution選擇accessible,下面填上** 點選確定即可!!! 2. 在MyEclipse中編寫Java程式碼時,用到了BASE64Decoder,import s
解決eclipse無法直接使用jdk中sun.misc.BASE64Encoder
解決方法: ----右鍵點選專案--- -----Build Path------- -----Configure Build Path----- ------JRE System Library----- -------Access rules--------------
sun.misc.BASE64Encoder找不到jar包的解決方法(rt.jar找不到)
在MyEclipse中編寫Java程式碼時,用到了BASE64Decoder,import sun.misc.BASE64Decoder;可是Eclipse提示: Access restriction: The type BASE64Decoder is not accessible due to res
Eclipse筆記-sun.misc.BASE64Encoder找不到jar包的解決方法
在使用sun.misc.BASE64Encoder時報錯如下: Access restriction: The type BASE64Encoder is not accessible due to restriction on required libr
sun.misc.BASE64Decoder與sun.misc.BASE64Encoder 替代方案
最近需要使用Base64上傳圖片,但是返現sun.misc.BASE64Decoder 為已經過期的包,此包為以前sun公司的內部包,可以下載此包,但是不利於現在Maven方式構建,可以使用如下方式替代。
解決找不到sun.misc.BASE64Encoder 的jar包問題
*問題: 在MyEclipse中用到了BASE64Decoder類,也沒辦法import sun.misc.BASE64Decoder; Eclipse提示如下: Access restriction: The type BASE64Decoder i
關於sun.misc.BASE64Encoder報錯問題
最近接手了新的專案,公司之前找的外包做的,在匯入時發現sun.misc.BASE64Encoder報錯,找了好多辦法,後來查詢資料得以解決。 在專案那邊滑鼠右鍵點選,進入到Properties裡面,在裡面找到Java Bulid Path點選可以看到Access r
sun.misc.BASE64Encoder是內部專用 API, 可能會在未來發行版中刪除解決方案
修改一下java編譯外掛,增加下面內容 <compilerArguments> <verbose/> <bootclasspath>${j
java實現圖片與base64字串之間的轉換(不適用SUN公司的sun.misc.BASE64Encoder)
package com.liu.ming.test; import java.io.FileOutputStream; import java.io.OutputStream; import org.apache.commons.codec.DecoderException
Android中使用sun.misc.BASE64Encoder 遇到的問題
轉自:http://blog.csdn.net/u012017115/article/details/43731533 最近在寫一個個推推送的Demo 在官網提供的例子裡面有個是通過Java程式碼推送訊息給手機。 在官網的例子中使用了sun.misc.BASE64E
Base64編碼實現一---使用sun.misc.BASE64Encoder實現Base64
使用sun.misc.BASE64Encoder實現Base64 package com.zero.io.base64; import java.io.BufferedInputStream; import java.io.BufferedOutputStream;
利用sun.misc.Unsafe獲取類字段的偏移地址和讀取字段的值
com 如何 string ring rep 最好 lar 計算 .get 我們列出了計算java對象大小的幾個結論以及jol工具的使用,jol工具的源碼有興趣的可以去看下。現在我們利用JDK中的sun.misc.Unsafe來計算下字段的偏移地址,一則驗證下之前文章中的結
一文了解sun.misc.Unsafe
類型轉換 鏈接 str DC arch lang 生態 rip export Java語言和JVM平臺已經度過了20歲的生日。它最初起源於機頂盒、移動設備和Java-Card,同時也應用在了各種服務器系統中,Java已成為物聯網(Internet of Things)的通用
sun.misc.Unsafe操作手冊
Java是一個安全的開發工具,它阻止開發人員犯很多低階的錯誤,而大部份的錯誤都是基於記憶體管理方面的。如果你想搞破壞,可以使用Unsafe這個類。這個類是屬於sun.* API中的類,並且它不是J2SE中真正的一部份,因此你可能找不到任何的官方文件,更可悲的是,它也沒有比較好的程式碼文件
@sun.misc.Contended 解決偽共享問題
快取系統中是以快取行(cache line)為單位儲存的。快取行是2的整數冪個連續位元組,一般為32-256個位元組。最常見的快取行大小是64個位元組。當多執行緒修改互相獨立的變數時,如果這些變數共享同一個快取行,就會無意中影響彼此的效能,這就是偽共享。快取行上的寫競爭是
sun.misc.unsafe類的使用
這個帖子是關於JAVA中鮮為人知的特性的後續更新,如果想得到下次線上討論的更新,請通過郵件訂閱,並且不要忘了在評論區留下你的意見和建議。 Java是一個安全的開發工具,它阻止開發人員犯很多低階的錯誤,而大部份的錯誤都是基於記憶體管理方面的。如果你想搞破壞,可以使用
import sun.misc.Unsafe
【注意】sun.misc.Unsafe這個類是jdk1.8才有的!所以在org.apache.hadoop.io.nativeio.NativeIO類中出現匯入Unsafe這個類的錯誤時,不要試圖去Maven下載jar包,更換jdk為1.8版本就可以了!親身經歷!!!!
Java 9中將移除 Sun.misc.Unsafe
原文連結 譯者:曲東方 災難將至,Java 9中將移除 Sun.misc.Unsafe Oracle 正在計劃在Java 9中去掉 sun.misc.Unsafe API。 這絕對將是一場災難,有可能會徹底破壞整個 java 生態圈。 幾乎每個使用 java開發的工具、軟體基礎設施、高效