gue*_*t86 5 java user-interface swing
我有一个应用程序,它呈现了非常复杂的Swing GUI.GUI包含大约60,000个不同的控件(大多数是标签,更少的文本字段).基本上,它是一个表格,其中许多单元格中的每一个都包含一个独立控件,几个标签和一个文本框.
我突然遇到的问题与8u40之后(包括)的java版本有关.项目使用JDK 8u122构建.当我使用Java 8u31运行我的应用程序时,一切都运行良好和流畅.当我使用8u31之前的任何Java(JRE)运行我的应用程序时,应用程序开始渲染我的复杂控件,然后很快就会占用100%的CPU而且所有块,我必须杀死我的应用程序.
为什么?我正在检查8u40的补丁说明,但我找不到任何可能导致这么大的减速的东西.
你有什么想法吗?
这似乎与我正在使用的 VM 参数有关-XX:-UseAdaptiveSizePolicy!
没有它,即使在较新的 Java 版本上也能正常工作。
现在,有这么多的控件,我需要-XX:-UseAdaptiveSizePolicy