当前位置: 首页 > 面试题库 >

如何减少Scala(/ Java)启动开销?

麹承
2023-03-14
问题内容

我对Java世界一无所知(我主要使用C / Python),但是Scala看起来很有趣,足以吸引我。我遇到的一个问题是巨大的启动开销-
最少0.3秒,如果我这样做,则更多m使用解释器而不是编译,相比之下,Python或C的有效值为0。因此,即使该语言运行起来比Python快数十倍,但如果我尝试将其用于简单任务,它的运行速度仍然相当慢实践。

是否有任何方法可以减少这种时间,或者这是JVM + Scala程序所需的(隐式)导入数量的不可避免的一部分吗?


问题答案:

您正在使用哪种计算机?显然会有JVM启动开销,但是如果JVM检测到您正在服务器级计算机上运行,则开销会更大。

在J2SE平台版本5.0中,一类称为服务器类计算机的计算机已定义为具有以下条件的计算机:

  • 2个或更多物理处理器
  • 2 GB或更多的物理内存

您可以使用该选项将JVM置于 客户端模式-client。该 客户端模式 被调整为快速启动时间。

还采取了 模块化JVM
Jigsaw 项目)的措施,这将进一步缩短启动时间-
这始于JDK 1.6.0_10



 类似资料:
  • class下导致new HelloWorld行出现错误: 所以我尝试:,但这会导致编译器错误: 下面的HelloWorld应该如何实现? 阅读其他Scala文档时,要求在扩展Actor的类中定义act方法,然后在该类上调用start方法,是否有理由使用actorOf而不是定义act方法? 以下内容摘自Scala akka docs http://doc.akka.io/docs/akka/2.2.

  • 问题内容: 假设我有一个布尔值流,而我正在编写的reduce操作是||(OR)。我是否可以这样编写它:如果true遇到值,则放弃对至少某些元素的求值? 我正在寻找某种程度的优化(也许是并行流),不一定要完全优化,尽管后者会很棒。 问题答案: 我怀疑您想要这种构造。 你可以看一下 Stream.of(1, 2, 3, 4).peek(System.out::println).anyMatch(i -

  • 问题内容: 我无法在快速工作区中渲染更少的CSS。 这是我当前的配置 (我的css / less文件 位于 “ public / stylo /”中) : 这是我的 main.jade文件 : 这是我的 main.less CSS : 这是我的好 东西 。 很酷的交易。现在: 我通过npm安装的次数较少, 并且从另一篇帖子中听说@imports应该引用而不是。在任何情况下,我已经试过了 组合 开关

  • 问题内容: 下面的程序根据需要运行,但是如何减少if语句的数量。有人告诉我,如果您的函数包含2个或更多if语句,那么您做错了。有什么建议?我试过使用switch语句,但这没有用,因为大小写不能是布尔值。 问题答案: 如何为案例创建方法: 然后,不是一堆东西,而是两个方法的调用集。您甚至可以创建一个调用上述两个方法的单个方法。 在上面的代码中,对我来说,问题的数量比重复代码的数量少。

  • 我有一个应用程序,它使用大量的内存来区分两个潜在的巨大(100k)目录的内容。对我来说,这样的操作会占用大量内存是有道理的,但是一旦我的 diff'ing 操作完成,堆的大小就会保持不变。 我基本上有实例化类的代码,用于存储源和目标上每个文件的文件名、文件大小、路径和修改日期。我将添加、删除和更新保存在其他数组中。然后,我我的源数组和目标数组(现在可能每个都是100k),只剩下相对较小的添加、删除

  • 问题内容: 在JSF中减小viewstate隐藏字段大小的最佳方法是什么?我已经注意到,我的视图状态大约为40k,这会下降到客户端,并在每次请求和响应(尤其是到达服务器)时都返回到服务器,这对于用户来说是一个严重的问题。 我的环境JSF 1.2,MyFaces,Tomcat,战斧,RichFaces 问题答案: 您是否尝试过将状态保存设置为服务器?这应该仅将ID发送给客户端,并在服务器上保持完整状