小编use*_*561的帖子

Java - x32和x64之间的奇数内存消耗

我一直在分析我的应用程序的x64版本,因为内存使用率非常高,所有这些似乎来自JavaFX MediaPlayer,我正确地释放了监听器和事件处理程序.

这是鲜明的对比.

开始时的x32版本

在此输入图像描述

现在开始使用x64版本

在此输入图像描述

x32版本保持在256mb以下,而x64将在gig上拍摄; 这是两个人都可以播放他们的播放列表.

所有代码都是一样的.

JDK:jdk1.8.0_20

JRE:jre1.8.0_20

两者都有VM参数

-XX:MinHeapFreeRatio=40 -XX:MaxHeapFreeRatio=70 -Xms3670k -Xmx256m -Dsun.java2d.noddraw=true -XX:+UseParallelGC
Run Code Online (Sandbox Code Playgroud)

在另一个x64 Java应用程序上发生同样的问题

在此输入图像描述

这是一个错误还是我忽略了什么?

java memory-leaks javafx

7
推荐指数
1
解决办法
127
查看次数

Java图形没有正确绘制

我写了以下代码

   import java.awt.BorderLayout;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

final public class Test
{

    JFrame frame;
    DrawPanel drawPanel;
    boolean up = false;
    boolean down = true;
    boolean left = false;
    boolean right = true;
    private int timeStep = 0;
    private int ballYTravel = 100;
    private int BALL_NUM = 24;

    public static void main(String... args)
    {
        new Test().go();
    }

    private void go()
    {
        frame = new JFrame("Test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        drawPanel = new DrawPanel();

        frame.getContentPane().add(BorderLayout.CENTER, drawPanel);

        frame.setResizable(false);
        frame.setSize(800, 600);
        frame.setLocationByPlatform(true);
        frame.setVisible(true);
        moveIt();
    } …
Run Code Online (Sandbox Code Playgroud)

java swing

1
推荐指数
2
解决办法
80
查看次数

突然ArrayIndexOutOfBoundsException

我一般都是第一次感到困惑.我昨晚在几分钟内编写了这段代码,效果很好.现在突然扩展我的列表之后它会抛出一个ArrayIndexOutOfbounds:63

private final String[] itemName = new String['?'];
private final String[] itemID = new String['?'];
private void loadList() throws IOException {
    final URL itemListURL = new URL("testlist.txt");
    final BufferedReader buffer = new BufferedReader(
            new InputStreamReader(itemListURL.openStream()));
    String line;
    while ((line = buffer.readLine()) != null) {


        final String[] itemListArray = line.split(",");

        final int i = Integer.parseInt(itemListArray[0]);

        this.itemID[i] = itemListArray[0];
        this.itemName[i] = itemListArray[1];

    }
    buffer.close();
}
Run Code Online (Sandbox Code Playgroud)

谁能指出我做错了什么?

java

0
推荐指数
1
解决办法
56
查看次数

标签 统计

java ×3

javafx ×1

memory-leaks ×1

swing ×1