Java属性更改是否会停留在程序运行之外?

Java属性更改是否会停留在程序运行之外?,java,Java,我目前正在尝试了解threadcount如何影响矩阵乘法,并且有一个使用javasStream.parallel().forEach(),因为它总是以Runtime.getRuntime().availableProcessors()-1线程开始的实现,我倾向于使用 System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", threadCount); 更改它使用的线程数量。如果我将该属性设置为非默认值,

我目前正在尝试了解threadcount如何影响矩阵乘法,并且有一个使用javas
Stream.parallel().forEach()
,因为它总是以
Runtime.getRuntime().availableProcessors()-1
线程开始的实现,我倾向于使用

System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", threadCount);
更改它使用的线程数量。如果我将该属性设置为非默认值,则该属性在程序运行后是否会保持更改?

否。根据:

setProperties
方法更改当前正在运行的应用程序的系统属性集。这些变化不是持久的


setProperty
只是
setProperties
的单一版本,两者都会更新正在运行的配置,但不会持久化。

不,不会。若你们想再次使用它,你们需要把它保存在某个地方,也许是程序退出时的属性文件,然后再使用它。