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 将Guava CharMatcher用作类中的静态字段。CharMatcher线程安全吗?_Java_Multithreading_Guava - Fatal编程技术网

Java 将Guava CharMatcher用作类中的静态字段。CharMatcher线程安全吗?

Java 将Guava CharMatcher用作类中的静态字段。CharMatcher线程安全吗?,java,multithreading,guava,Java,Multithreading,Guava,我需要替换字符串中的一些字符: 每个点都要加下划线 只需执行:myString.replace(“.”,“”) 这很有效 然而,我想使用番石榴的CharMatcher,它应该有更好的性能 CharMatcher dotCharMatcher = CharMatcher.anyOf("."); dotCharMatcher.replaceFrom(myString, "_"); 它运行在具有多个线程的服务器上 我可以在使用它的类中创建dotCharMatcher静态字段,还是应该在每个请求中创建

我需要替换字符串中的一些字符: 每个点都要加下划线

只需执行:
myString.replace(“.”,“”)
这很有效

然而,我想使用番石榴的
CharMatcher
,它应该有更好的性能

CharMatcher dotCharMatcher = CharMatcher.anyOf(".");
dotCharMatcher.replaceFrom(myString, "_");
它运行在具有多个线程的服务器上

我可以在使用它的类中创建
dotCharMatcher
静态字段,还是应该在每个请求中创建一个?(它是线程安全的吗?)

谢谢

是的,由
返回的实例是线程安全的


然而,文档明确指出,
Joiner
Splitter
是线程安全的,但并没有对
CharMatcher

提出同样的主张,即“强烈建议实现无副作用且不可变”。静态
CharMatcher
常量必须是线程安全的,所以在他们的建筑中使用的任何东西都必须是。