0

基本上,我正在尝试分析在 tomcat 上运行并使用 hsqldb(来自 OWASP 的不安全 Web 应用程序)的 Web 应用程序。我正在使用 java profiler(根本没有广泛使用的 jp2-2.1)来分析 tomcat 服务器。探查器分析方法调用的顺序,它们以 xml 格式执行。简而言之,它会生成程序/应用程序运行的调用上下文树。

我注意到,对于应用程序的两次相同运行,执行 hsqldb 方法的顺序不同。我希望是一样的。为了确认这一点,我尝试分析 hsqldb 的示例程序,并且分析器再次为同一程序生成不同的输出。

我从这里运行示例程序:(http://hsqldb.sourceforge.net/doc/guide/apb.html)

所以现在我确信,执行 hsqldb 方法的顺序对于程序的完全相同的两次运行是不同的。

有人可以告诉我这背后的原因是什么吗?我很想知道这一点。

我从来没有使用过 hsqldb,所以不知道它是如何工作的。

谢谢。

4

1 回答 1

1

如果执行的 SQL 语句完全相同,并且每次运行都从一个空数据库开始,那么 HSQLDB 方法的执行顺序通常应该相同。

第一次运行和随后的运行之间会有细微的差别,因为一些静态数据是在第一次运行时初始化的。

于 2012-09-14T07:38:13.767 回答