[英]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.