gpt4 book ai didi

java - 如何减少java程序的启动时间和内存消耗?

转载 作者:行者123 更新时间:2023-12-04 06:43:22 29 4
gpt4 key购买 nike

我认为最新的 java 更新版本会提供更好的性能。

我正在寻找一种方法来实现软件组件与无限循环或内存泄漏的隔离。 Android 将每个应用程序隔离在自己的进程中,Google Chrome 将每个选项卡隔离在自己的进程中。

我的主要缺点是 java需要很长时间才能开始,我也想减少内存消耗。

是否有任何替代构建或更受控制的启动可以完成此任务?

最佳答案

如果快速启动是您的目标,那么 PC 上的 Java 可能不是您的最佳选择。这将需要几秒钟,因为这是从磁盘加载 VM 所需的时间。

如果您希望您的应用程序启动得更快,很容易启动启动屏幕,只需创建一个仅加载启动屏幕的模块,等待它完全显示然后使用反射链接到您的“真实”主模块。

(使用反射,否则它会在启动主要程序之前通过引用引入整个程序——至少它过去是这样工作的)。

如果您谈论的是运行时性能,那么您不会通过更改语言来获得更快的速度,Java 几乎可以达到您所能获得的速度。您可能可以通过转换为 C/C++ 并重写它以适应这些平台(更少的 OO、堆栈分配而不是堆等)来获得提升,但除此之外,一般使用的其他语言都没有接近 Java 的速度.

如果你真的需要快速启动,取决于你在做什么,可能会有一些技巧。我见过一些项目试图让 Java VM 在您的工具栏中运行并允许您发出请求(告诉它启动应用程序)。这更快,但对用户提出了额外的要求(加载这个额外的工具)

另一种可能性——如果你不断地启动/关闭小任务,这就是启动困扰你的原因,那么你绝对可以通过让它不可见地运行来加速它。只需让您的 Java 应用程序打开一个套接字并监听命令,然后创建一个小的 .EXE 或 shell 脚本,如果它没有运行,它可以启动您的程序,或者如果它运行,则将命令发送到该套接字。这将在第一次运行后完全消除初创公司。

关于java - 如何减少java程序的启动时间和内存消耗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3980507/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com