相关疑难解决方法(0)

Java中的长数组支持多少个索引?

我必须使用long索引范围为0到33554432 的数组.

它给出了一个错误:

"Exception in thread main java.lang.OutOfMemoryError: Java heap space".
Run Code Online (Sandbox Code Playgroud)

short数组不会出现此错误.我必须使用long数组和相同的索引,我该怎么办?

java

3
推荐指数
2
解决办法
353
查看次数

如何在HashMap中插入后在内存中查找大小?

我正在对HashMap插入进行一些性能测试.我正在测试的操作是在插入后插入,读取和在内存中的大小.

我可以做,插入和读取测试,但不知道如何找出size in memory after insertion-

我有一个文本文件,其中包含200万个英文单词,其频率为此格式 -

hello 100
world 5000
good 2000
bad 9000
...
Run Code Online (Sandbox Code Playgroud)

现在我逐行读取此文件并将其存储,HashMap以便我可以使用以下代码测量插入性能.

Map<String, String> wordTest = new HashMap<String, String>();

try {
    fis = new FileInputStream(FILE_LOCATION);
    reader = new BufferedReader(new InputStreamReader(fis));

    String line = reader.readLine();
    long startTime = System.nanoTime();
    while (line != null) {
    String[] splitString = line.split("\\s+");
    // now put it in HashMap as key value  pair
    wordTest.put(splitString[0].toLowerCase().trim(), splitString[1].trim());

    line = reader.readLine();
    }
    long endTime = System.nanoTime() - startTime;
    System.out.println("Insertion …
Run Code Online (Sandbox Code Playgroud)

java hashmap performance-testing

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

用hibernate读取300万条记录

我是hibernate中的菜鸟,我必须从Java z/OS-Database中读取200万条带有hibernate的Java记录.(JDBC)

我的问题是,我在150000条记录后运行OutOfMemory.

我听说过批处理等,但我只找到实际插入新记录的解决方案.我想要做的是在ArrayList中读取此记录以供进一步使用.

所以我实际上只是选择数据库的一行来减少数据:

getEntityManager().createQuery("select t.myNumber from myTable t").getResultList();
Run Code Online (Sandbox Code Playgroud)

如果有更好的方法来读取如此大量的记录,也会很有趣.(也许没有Hibernate?)

java sql select hibernate

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

Java堆空间错误,我无法在Java中处理大型xlsx文件

我正在使用Apache Poi XSSFWorkbooks来处理xlsx文件;我的程序在小型excel文件(60000行)上运行良好。当我开始在一个大文件(700 000行)上测试代码时,我遇到了内存问题。我在具有16 GB RAM的计算机上测试我的代码,但它不起作用。

这个问题有帮助吗?我读过有关SAX解析器的信息,但是我不想修改我的代码,而且我觉得使用起来并不直观。这不像xssf那样简单,它具有获取单元格,行等的简单方法。

有没有办法保持我的代码不变并解决内存问题?或除SAX解析器之外的任何解决方案?任何帮助表示赞赏,谢谢。

java xlsx large-files apache-poi

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

生成 Checkmarx 报告时出现“OutOfMemoryError:Java 堆空间”的 Jenkins 作业

我的 Jenkins 在 Ubuntu 服务器实例中运行。完成后,当生成 Checkmarx 报告时Java heap space,出现屏幕截图所示的问题:

Jenkinks java 堆空间错误

有人可以帮助我如何增加 Checkmarx 中的 Java 堆空间吗?

要阅读 Atlassian KB 文章“ Scan Fails with Java Heap Space Exception ”,似乎需要一个帐户。

java ubuntu jenkins checkmarx

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

线程"main"中的异常java.lang.OutOfMemoryError:eclipse中的Java堆空间

嗨,我正在从工作.xls表中读取包含8500数据行的数据,我正在尝试将其存储double[][]但我收到错误

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)

public static double[][] getData_DoubleArray(String path, int sheetNo, int rowIndex1, int rowIndex2) {
    double[][] doubleArray=null;
    try {
        HSSFSheet sheet = PS_ExcelReader.getWorkSheet(path,sheetNo);
        System.out.println("sheet" + sheet);
        List<Object> data1 =  PS_ExcelReader.getFullColumnByIndex(sheet, rowIndex1);

        List<Object> data2 =  PS_ExcelReader.getFullColumnByIndex(sheet, rowIndex2);
        doubleArray = new double[data1.size()][data2.size()];
        for(int i = 0; i < data1.size(); i++) {
            for(int j = 0; j < data2.size(); j++) {
                doubleArray[i][0] = (Double)data1.get(i);
                doubleArray[i][1] = (Double)data2.get(j);
            }               
        }
        System.out.println("array …
Run Code Online (Sandbox Code Playgroud)

java xls

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

在java中排序巨大的文件

我有一个巨大的文件,每行都有独特的单词.文件大小约为1.6 GB(我要在此之后对其他文件进行排序,大约为15GB).直到现在,我使用的文件较小Array.sort().但对于这个文件我得到了java.lang.OutOfMemoryError: Java heap space.我知道这个错误的原因.有没有办法,而不是写完整的快速排序或合并排序程序.

我读到Array.sort()在内部使用Quicksort或Hybrid Sort.有没有像Array.sort()??的程序?

如果我必须编写一个程序进行排序,我应该使用哪一个?Quicksort或Merge排序.我担心最坏的情况.

java sorting

-1
推荐指数
1
解决办法
1343
查看次数