0

[更新:我忘了添加这 30 秒。冻结问题仅在我第一次尝试从服务器加载文件时发生。随后的加载非常快。也许是一些奇怪的反向 DNS 查找?我在 Google 的 appengine 上托管。]

我最近开始了一个名为http://www.chartle.net的小项目,它是围绕一个小程序构建的。

启动时间是影响小程序用户体验的一个重要因素。我收集统计数据并惊讶地发现我经常很长的启动时间(比必要的高 50 到 100 倍)

小程序在 1-3 秒内启动,具体取决于您的计算机和连接速度。对于某些用户来说,它仍然需要长达 100 秒。

我自己的测试结果好坏参半。大多数情况下它非常快,但有时会冻结浏览器很长时间,Java 控制台没有告诉我原因。最好的猜测是,加载保存的图表时它会停止。

请帮助我解决这个问题 - 通过打开已保存的图表来进行最佳测试(单击http://www.chartle.net/gallery上的“创建”链接之一)

干杯,迪特

4

2 回答 2

2

这是通用帮助,而不是特定于您的演示(在几次尝试中加载对我来说很好)。

冻结小程序

在 JDK bin 目录中有一个非常方便的程序,叫做jstack。刷新浏览器窗口,直到它崩溃,然后运行:

jstack *process_id*

这将为您提供任何冻结的 Java 进程的堆栈跟踪。如果 Java 不是一个单独的进程,那么您可以使用浏览器的进程(例如,对于 Opera)。

以下几个问题对我来说很常见:

  1. 我建议您在 init 方法上使用 invokeLater 而不是 invokeAndWait(尽管如果您使用 start/stop 方法则不能这样做)
  2. Opera 的自定义 java 插件表现很差......
  3. 同步块和invokeAndWait 引起的死锁

慢速小程序

可能浏览器正在从服务器获取资源,无法使用 jar 文件?

于 2009-04-15T13:49:33.573 回答
1

可能只有旧插件会导致这些问题。这意味着基本上所有在 OSX 上运行的人以及在 1.6_update_10 之前使用 Java 的其他用户。

所以,我非常感谢有这种设置的人观看他们的 Java 控制台并描述第一次启动行为。

干杯,迪特

于 2009-04-15T14:12:30.383 回答