云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

消息队列_建阳网站建设_返现

小七 141 0

存储服务器_如何选择_物联网产业发展规划

eclipsemat、HeapHero都是分析大型堆转储的流行java工具。最近,我们在分析eclipsemat中的堆转储文件时遇到了一个有趣的问题。工具因缺少字体?而崩溃?。我们认为我们将与您分享我们的发现。

ArrayIndexOutOfBoundsExceptionCompositeStrike.getStrikeForSlot文件()

这里是我们的环境:

Eclipse MAT 1.9•Java 8•Linux 3.10.0-862.34.2.el7.x86_64

当我们将堆转储文件上载到Eclipse MAT时,它失败,出现以下错误:

java.lang.ArrayIndexOutOfBoundsException异常: 0在sun.font.composite类目.getStrikeForSlot的(CompositeStrike.java:75)在sun.font.composite类目.getFontMetrics方法(CompositeStrike.java:93)在sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics.java:359)在sun.font.FontDesignMetrics.(FontDesignMetrics.java:350)在sun.font.FontDesignMetrics.getMetrics方法(FontDesignMetrics.java:302)在sun.java2d版本.SunGraphics2D.getFontMetrics(SunGraphics2D。爪哇:863)在网址:org.eclipse.birt.图表.设备.摆动.SwingTextMetrics.reuse重用(SwingTextMetrics.java:123)在网址:org.eclipse.birt.chart.device.text适配器.重复使用(TextAdapter.java:36)在网址:org.eclipse.birt.图表.设备.摆动.SwingTextMetrics.(SwingTextMetrics.java:86)在网址:org.eclipse.birt.图表.设备.摆动.SwingDisplayServer.getTextMetrics(SwingDisplayServer.java:194)在网址:org.eclipse.birt.chart.device.DisplayAdapter显示适配器.getTextMetrics(DisplayAdapter.java:138版本)在网址:org.eclipse.birt.chart.computation.birtchart计算.getTextMetrics(java:36)在网址:org.eclipse.birt.chart.computation.LegendBuilder图表计算.LegendBuilder$LegendData.(LegendBuilder.java:108)在网址:org.eclipse.birt.chart.computation.LegendBuilder图表计算.LegendBuilder.计算(LegendBuilder.java:493)在网址:org.eclipse.birt.图表.模型.布局.impl.legendpimpl.getPreferredSize实现(LegendImpl.java:2059年)在网址:org.eclipse.birt.图表.内部.布局.LayoutManager$图表布局。(LayoutManager.java:126)在网址:org.eclipse.birt.图表.内部.布局.布局管理器.doLayout\u tmp(LayoutManager.java:1145):::

在Google god中快速搜索发现了这个有趣的StackOverflow线程。这是这条线索的概要。Java使用linux的fontconfig特性搜索等距、SansSerif和serif字体。linuxfontconfig设计用于在系统中定位字体,并根据应用程序指定的要求进行选择。如果上述任何字体丢失,则会导致上述异常。

如果您也遇到此类问题,云服务器和服务器,则有3种解决方案:

1。安装缺少的字体2升级JDK三。编辑操作系统字体配置

让我们详细讨论解决方案。

1。安装缺少的字体

您可以通过发出以下命令来尝试安装缺少的字体:

yum安装dejavu serif字体

2. 升级JDK

这是一个已知的JDK错误,大数据中心是什么,永久免费的云服务器,在OpenJDK、Oracle和IBM JDK错误数据库中跟踪:

•https://bugs.openjdk.java.net/browse/JDK-8188030• https://bugs.java.com/bugdatabase/view\u bug.do?错误id=JDK-8188030• ?uid=swg1IJ16655

此错误已在以下版本中修复:

Open JDK 8u192甲骨文JDK 8u192IBM JDK 8 SR5 FP37(8.0.5.37)

您可以升级到最新的JDK版本来解决问题。

3。编辑操作系统字体配置

创建文件名/etc/fonts/本地.conf。在此文件中强制返回乌托邦作为默认字体,由java使用。

衬线乌托邦无衬线乌托邦monospace乌托邦对话框乌托邦对话框输入乌托邦

,淘客软件,云免服务器购买