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
常量必须是线程安全的,所以在他们的建筑中使用的任何东西都必须是。