![]() |
1
2
如果快速启动是你的目标,PC上的Java可能不是你的最佳选择。这需要几秒钟,因为这是从磁盘加载VM所需的时间。 如果你想让你的应用启动得更快,很容易启动一个闪屏,只需创建一个只加载闪屏的模块,等待它完全显示,然后使用反射链接到你的“真实”主模块。 (使用反射,因为否则它将在启动主程序之前通过引用拉入整个程序——至少这是它以前的工作方式)。 如果你谈论的是运行时的性能,你不会通过改变语言更快,Java的速度和你能得到的一样快。您可以通过转换为C/C++来重写以适应这些平台(更少的OO、堆栈分配,而不是堆等),否则,一般使用的其他语言在速度上都不会接近Java。 如果你真的需要快速启动,根据你在做什么,可能会有一些技巧。我看到了一些项目,试图保持Java VM在工具栏中运行,并允许您发出请求(告诉它启动应用程序)。这速度更快,但对用户提出了附加要求(加载此附加工具) 另一种可能性是——如果你一直在启动/关闭小任务,而这正是启动困扰你的原因,那么你一定可以通过保持它不可见的运行来加速它。只需让Java应用程序打开一个套接字,然后监听命令,然后创建一个小的.exe或shell脚本,如果程序不运行,则可以启动程序,或者将命令发送到该套接字。这将完全消除初创企业的首次运行。 |
![]() |
2
1
一般来说,Java的启动时间比其他语言要长得多。如果你在桌面应用程序上粘贴Java,很多类似启动时间的东西是由安装在客户端计算机上的JRE来决定的,而JRE是无法控制的。 至于“无尽的记忆泄漏”…Java不会泄漏内存。如果你的程序成功了,修复它。 |
![]() |
3
0
这是第二个答案,因为它完全不同,我的另一个答案太长了:) 尝试编译它——我认为GCC可以编译它。这几乎可以完全消除您的启动。我相信Jikes曾经是IBM的Windows Java编译器,但我不知道它是否仍然被维护。 请注意,对于长时间运行的应用程序,编译后的代码运行速度可能比JVM代码慢。 |
![]() |
Sweepy Dodo · JSON lite的格式化 7 月前 |
![]() |
giantjenga · 优化整数向量到二进制向量的转换 8 月前 |
![]() |
Zegarek · Postgresql递归查询未提供预期结果 8 月前 |
![]() |
Joe · 为什么这两个查询之间的性能存在如此大的差异? 1 年前 |
![]() |
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 1 年前 |