Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.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 在应用程序启动时强制scala.Predef初始化,而不影响代码_Java_Scala_Static Initialization_Predef - Fatal编程技术网

Java 在应用程序启动时强制scala.Predef初始化,而不影响代码

Java 在应用程序启动时强制scala.Predef初始化,而不影响代码,java,scala,static-initialization,predef,Java,Scala,Static Initialization,Predef,scala.Predef类的初始化是懒惰的重量级操作,这可能会导致应用程序意外减速,并且在计时重要的情况下(如编程竞赛)会成为一个问题 因此,我可以关闭它的惰性并强制应用程序启动时只使用scala编译器或VM选项而不更改代码吗?不可以。可以通过调用对象来初始化对象,如下所示 Predef // ensures the body of Predef is initialized val a = new Array[Integer](10) a(5) = 3 不过,您可能还没有初始化a.ap

scala.Predef
类的初始化是懒惰的重量级操作,这可能会导致应用程序意外减速,并且在计时重要的情况下(如编程竞赛)会成为一个问题


因此,我可以关闭它的惰性并强制应用程序启动时只使用scala编译器或VM选项而不更改代码吗?

不可以。可以通过调用对象来初始化对象,如下所示

Predef    // ensures the body of Predef is initialized
val a = new Array[Integer](10)
a(5) = 3

不过,您可能还没有初始化
a.apply
中涉及的
ArrayOps
类。惰性类初始化是JVM的一个属性。如果您进行基准测试,这就是为什么您通常首先给它一个“预热”运行,以便首先加载所有涉及的类。

如果您需要这种级别的优化,也许您不应该在JVM上编码。
Predef    // ensures the body of Predef is initialized
val a = new Array[Integer](10)
a(5) = 3