【问题标题】:java.exe is faster than javaw.exejava.exe 比 javaw.exe 快
【发布时间】:2019-02-21 04:11:22
【问题描述】:

我已经使用 hibernate + Mysql/Sqlite 制作了几个 java 软件,我注意到使用这两个启动器时(从数据库)获取时间存在显着差异。

当我使用 java.exe 启动我的应用程序时,当然会显示一个控制台,但应用程序比我使用 javaw.exe 时更快。

我的应用程序是一个基于windows的应用程序,我不希望java.exe在应用程序启动时加载控制台,所以我一直在使用javaw.exe,但是它缺少获取时间。

这个问题的解释是什么?如何在不启动控制台的情况下使用 java.exe 启动我的应用程序,或者使用 javaw.exe 启动它并获得相同的性能?

提前致谢。

【问题讨论】:

  • 定义“更快”,您是否尝试过附加分析器?
  • java.exe 更快,例如加载我所有的“产品”实体并将其显示到 TableView (javafx) 中比使用 javaw.exe 更快......即使它是同一个程序...我不知道什么是分析器...
  • 我为你搜索了分析器。 wiki.ephesoft.com/how-to-use-jvisualvm
  • 曾尝试使用 JVisualVM 一次使用 javaw.exe 启动我的应用程序,另一次使用 java.exe 并注意到这些错误:在 java.exe 中工作正常,但对于 javaw.exe,1- CPU 监控说此 JVM 不支持,2- 分析过程不适用于 CPU、内存、JDBC...3- 线程转储说:执行线程转储失败。 .. 无论如何,javaw.exe 似乎已损坏.. 有什么线索吗?
  • 查看此线程:stackoverflow.com/questions/6105844/… - 并检查您的问题是否完全是由运行 64 与 32 位 jvm 引起的。

标签: java database performance relational-database javaw


【解决方案1】:

使用 VisualVM(分析器)发现了问题。 发现有记录指令需要很长时间。 删除所有日志如下:

LogManager.getLogManager().getLogger("").setLevel(Level.OFF);

感谢 fl0w。

【讨论】:

    猜你喜欢
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多