Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用BASE64Encoder()。在并行线程中编码(字节)_Java_Multithreading_Encoding - Fatal编程技术网

Java 如何使用BASE64Encoder()。在并行线程中编码(字节)

Java 如何使用BASE64Encoder()。在并行线程中编码(字节),java,multithreading,encoding,Java,Multithreading,Encoding,我正在使用sun.misc.CharacterEncoder.encode(字节)方法对10个并行线程中的字符串进行编码 我注意到这个encode方法试图访问System.getProperty(),而这反过来又访问了同步的Hashtable.get()方法。因此,其他9个线程将进入阻塞状态,只有一个线程处于活动状态,这将影响性能 我们可以在这里做些什么来不阻塞其他线程吗?或者有没有使用其他方法进行编码的建议?我在javadoc中找不到准确命名为BASE64Encoder的方法或类。你能写出类的

我正在使用
sun.misc.CharacterEncoder.encode(字节)
方法对10个并行线程中的字符串进行编码

我注意到这个encode方法试图访问
System.getProperty()
,而这反过来又访问了同步的
Hashtable.get()
方法。因此,其他9个线程将进入阻塞状态,只有一个线程处于活动状态,这将影响性能


我们可以在这里做些什么来不阻塞其他线程吗?或者有没有使用其他方法进行编码的建议?

我在javadoc中找不到准确命名为BASE64Encoder的方法或类。你能写出类的完整路径或确切的方法吗。java版本和代码示例也会很有用;base-64直接从输入流编码字节。这是我的错。我使用的是sun.misc.CharacterEncoder.encode(byte[])方法,而不是base64encoder您使用的是什么Java版本?如果是Java8或更高版本,那么应该使用
Java.util.Base64
。不要使用来自
sun.misc.*
命名空间的类。非常感谢@markrotVeel。工作如期进行。