繁体   English   中英

浪费内存以加快JVM

[英]wasting memory to speed up jvm

在Linux和Mac上,是否有一种方法可以预缓存JVM(在RAM中或在其状态中),以便在启动Java程序时,其启动速度与C / C ++程序一样快?

我愿意浪费内存来实现这一目标。

不,不幸的是:(

再考虑一下,Java程序在Windows上今天启动得更快的原因是因为有一个进程(Java Quickstart)积极地将运行时库文件的副本保留在内存缓存中,这显然有很大帮助。 我不知道这种方法是否已移植到Linux。

难道不将JVM二进制文件和库加载到内存中以便它们可以共享吗?

是的,但仅在同一JVM实例中。 因此,您必须像servlet容器一样将应用程序加载到此实例中。

JVM调用的整个瓶颈是类加载,这就是Thorbjørn提到的Java快速入门的原因。

因此,您可以将类库放在更快的媒体(内存磁盘)上,这可能会加快(首次)启动的速度。 我曾经在RAM磁盘上安装Netbeans + JSDK,它的启动速度非常快,但是一旦启动,它的运行速度与从磁盘加载的速度相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM