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。工作如期进行。