gpt4 book ai didi

由于 Web 启动,Java 应用程序变慢

转载 作者:行者123 更新时间:2023-11-29 06:18:07 24 4
gpt4 key购买 nike

我正在尝试使用 Java Web Start 部署我的 Java 应用程序,但我遇到了一个问题。通过我的 IDE (Netbeans) 运行应用程序时,速度快如闪电;一切都在几秒钟内发生。但是,如果它是通过 Web Start 启动的,它会非常慢。

有什么想法吗?

我在 JNLP 中对所有内容进行自签名并使用完全权限。

最佳答案

Java Web Start 应用程序总是比直接通过 java 可执行文件启动慢。这是因为 Java Web Start 所做的不仅仅是标准的 java 启动:

  1. JWS 访问网络以下载 JNLP(可能还有 JAR 和其他资源)
  2. JWS 正在检查其本地 JAR 缓存以查看是否可以跳过下载 JAR
  3. 如果缓存为空或过时,JWS 可能会通过 HTTP 下载 jar
  4. JWS 正在检查每个 jar 的加密强签名的有效性

我认为其中大部分是不可避免的成本,因为能够通过网络浏览器启动您的应用程序并几乎“免费”更新您的应用程序。


另一种可能性:当您通过 webstart 启动时与通过 NetBeans 启动时,您的应用程序是否使用不同的 VM 运行?您可以尝试打印:

System.getProperty("java.home")

找出哪个 VM 正在运行当前正在执行的进程。

如果是同一台 VM,您还可以尝试区分两种情况之间的 Java 系统属性。尝试打印出所有系统属性:

System.getProperties().store(System.out, "");

Wireshark 可用于帮助诊断 Java Web Start 网络问题。


有时 Java Console和 Java Web Start 日志记录可用于诊断某些 JWS 问题。您可以通过 Java Control Panel 启用这些功能:

alt text

关于由于 Web 启动,Java 应用程序变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4240398/

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