標籤:
針對三種Base64實現:
* 自已實現的
* JDK8的java.util.Base64
* apache-common的org.apache.commons.codec.binary.Base64
/** * 用於命令列調用 * * @throws Exception */public static void main(String[] args) throws Exception {byte[] binaryData = "這是一個小小的測試 this is a test only".getBytes();long t1 = System.currentTimeMillis();for (int i = 0; i < 10000 * 1000; i++)Base64.decode(Base64.encode(binaryData));long t2 = System.currentTimeMillis();Encoder encoder = java.util.Base64.getEncoder();Decoder decoder = java.util.Base64.getDecoder();for (int i = 0; i < 10000 * 1000; i++)decoder.decode(encoder.encodeToString(binaryData));long t3 = System.currentTimeMillis();for (int i = 0; i < 10000 * 1000; i++)org.apache.commons.codec.binary.Base64.decodeBase64(org.apache.commons.codec.binary.Base64.encodeBase64String(binaryData));long t4 = System.currentTimeMillis();System.out.println("t2-t1:"+(t2-t1));System.out.println("t3-t2:"+(t3-t2));System.out.println("t4-t3:"+(t4-t3));}
測試結果:
t2-t1:7871 #自己實現的
t3-t2:2820 #JDK8內建的
t4-t3:25142 #apache-common的
不要太相信apache-common的效能。
Base64實現測試,不要太相信apache-common的效能