不,Java不会这样做.
这可以通过编写一个有用的简单程序来验证,并检查繁忙的cpu核心数.
像这样的东西:
public static void main(String[] args) throws Exception {
for (int i = 0 ; i < 1000000 ; i++) {
String s = "this XXX a test".replaceAll("XXX"," is ");
}
}
运行此操作时,您将看到只使用一个cpu核心.如果要并行化这样的东西,则需要使用多个线程,这可以使用Java 8 Stream API或使用ExecutorService轻松完成.