相关疑难解决方法(0)

何时使用每种排序算法?

当特定排序算法优于其他排序算法时,有什么用例 - __CODE__vs __CODE__vs __CODE__vs __CODE__等?

是否有基于数据结构的大小,类型,可用内存和缓存以及CPU性能使用它们的建议指南?

sorting algorithm

157
推荐指数
3
解决办法
10万
查看次数

Java的hashCode可以为不同的字符串生成相同的值吗?

是否可以使用java的哈希码函数为不同的字符串使用相同的哈希码?或者如果可能的话,它的可能性百分比是多少?

java hashcode

43
推荐指数
6
解决办法
3万
查看次数

具有4gb以上元素的Java数组

我有一个大文件,预计大约12 GB.我想将它全部加载到具有16 GB RAM的强大64位机器的内存中,但我认为Java不支持大字节数组:

File f = new File(file);
long size = f.length();
byte data[] = new byte[size]; // <- does not compile, not even on 64bit JVM
Run Code Online (Sandbox Code Playgroud)

是否可以使用Java?

Eclipse编译器的编译错误是:

Type mismatch: cannot convert from long to int
Run Code Online (Sandbox Code Playgroud)

javac给出:

possible loss of precision
found   : long
required: int
         byte data[] = new byte[size];
Run Code Online (Sandbox Code Playgroud)

java arrays 64-bit

19
推荐指数
3
解决办法
1万
查看次数

如何让java系统发布Soft References?

我将使用基于SoftReference的缓存(一个非常简单的事情).但是,我在为它编写测试时遇到了一个问题.

测试的目的是检查缓存是否在内存清理发生后再次从服务器请求先前缓存的对象.

在这里,我找到了如何使系统释放软引用对象的问题.调用System.gc()是不够的,因为在内存不足之前不会释放软引用.我正在PC上运行此单元测试,因此VM的内存预算可能非常大.

==================后来添加==============================

谢谢所有照顾的人!

考虑到所有职业选手和反对者后,我决定按照nandajarnbjo的建议采取蛮力方式.然而,似乎JVM并不是那么愚蠢 - 如果你要求一个比VM的内存预算更大的块,它甚至都不会尝试垃圾收集.所以我修改了这样的代码:

    /* Force releasing SoftReferences */
    try {
        final List<long[]> memhog = new LinkedList<long[]>();
        while(true) {
            memhog.add(new long[102400]);
        }
    }
    catch(final OutOfMemoryError e) {
        /* At this point all SoftReferences have been released - GUARANTEED. */
    }

    /* continue the test here */
Run Code Online (Sandbox Code Playgroud)

java caching soft-references

17
推荐指数
3
解决办法
5461
查看次数

ArrayList声明与转换

我与Java编程完全脱节,并且正在谷歌的Udacity课程作为复习.我正在浏览Sunshine应用程序的第1课,讲师通过声明一个字符串数组然后将其转换为ArrayList来选择创建虚假数据.

代码如下:

String[] data = {
            "Mon 6/23?- Sunny - 31/17",
            "Tue 6/24 - Foggy - 21/8",
            "Wed 6/25 - Cloudy - 22/17",
            "Thurs 6/26 - Rainy - 18/11",
            "Fri 6/27 - Foggy - 21/10",
            "Sat 6/28 - TRAPPED IN WEATHERSTATION - 23/18",
            "Sun 6/29 - Sunny - 20/7"
    };
    List<String> weatherForecast = new ArrayList<>(Arrays.asList(data));
Run Code Online (Sandbox Code Playgroud)

我想知道使用这种转换方法有什么好处吗?为什么不立即将数据声明为ArrayList:

    ArrayList weatherForecast = new ArrayList();
    weatherForecast.add("Today - Sunny - 88/63");
    weatherForecast.add("Tomorrow - Foggy = 70/46");
    weatherForecast.add("Weds - Cloudy - 72/63");
    weatherForecast.add("Thurs 6/26 - Rainy …
Run Code Online (Sandbox Code Playgroud)

java string arraylist

14
推荐指数
3
解决办法
667
查看次数

为什么ArrayList的最大数组大小是Integer.MAX_VALUE - 8?

我正在研究Java 8文档ArrayList.我得到的最大数组大小定义为Integer.MAX_VALUE - 8平均值2 ^ 31 - 8 = 2 147 483 639.然后,我的重点是,为什么8减去或why not less than 8more than 8减去?

/**
 * The maximum size of array to allocate.
 * Some VMs reserve some header words in an array.
 * Attempts to allocate larger arrays may result in
 * OutOfMemoryError: Requested array size exceeds VM limit
 */
private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;
Run Code Online (Sandbox Code Playgroud)

我得到了一些相关的答案,但没有实现我的目标.

  1. Java数组是否具有最大大小?
  2. 列表最多可以容纳多少数据
  3. 为什么我无法创建大尺寸的数组?

有些人根据文档给出了一些逻辑"Some …

java arrays arraylist

14
推荐指数
2
解决办法
3342
查看次数

JDBC是否具有最大ResultSet大小?

是否存在JDBC将特定于Hive查询放入ResultSet的最大行数?我不是在谈论获取大小或分页,而是在ResultSet中返回的总行数.

如果我错了,请纠正我,但是fetch size设置jdbc在数据库中每次传递时处理的行数,并在ResultSet中插入适当的响应.当它遍历表中的所有记录时,它将ResultSet返回给Java代码.我问的是返回Java代码的行数是否有限制.

如果它没有最大行数,那么类中是否存在可能导致某些记录被删除的固有内容?

java hive jdbc resultset

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

制作一个非常大的Java数组

我试图找到Pólya猜想的一个反例,它将在9亿的某个地方.我正在使用一种非常有效的算法,甚至不需要任何因子分解(类似于Eratosthenes的Sieve,但有更多的信息.因此,需要大量的整数.

该程序是高效和正确的,但需要一个阵列,直到想要检查的xi(它检查来自(2,x)的所有数字).所以,如果反例是9亿,我需要一个同样大的数组.Java不会允许我超过2000万.有什么我可以做的让一个大的数组?

java arrays

10
推荐指数
6
解决办法
3万
查看次数

Java新字节数组,大小为2 ^ 32

在Java中,它不允许我使用long这样的东西:

long size = 0xFFFFFFFF; //2^32-1

byte [] data = new byte[size];
Run Code Online (Sandbox Code Playgroud)

并且int只能高达0x7FFFFFFF(2 ^ 31-1).是否可以声明这个大小的字节数组?

java

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

Java StringBuilder可以容纳多少个字符?

StringBuilder是否具有JAVA中最大容量的字符限制.

StringBuilder url=new StringBuilder();

stmt = connnection.createStatement();
String sql="SOME QUERY";
rs = stmt.executeQuery(sql);
while(rs.next())
{
    String emailId=rs.getString("USER_EMAIL_ID");
     url.append(emailId);  
}
Run Code Online (Sandbox Code Playgroud)

StringBuilder变量'url'是否具有最大容量,还是可以容纳所有内容?

java stringbuilder jdk1.6 capacity

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