[求助]简单的两个问题,
简单问题:
现在要做一个set(保证其中容纳的对象唯一,要求数据量是10,000,000),
现有一个用c++实现的树结构,用了大约三四分钟就完成了这么大容积的数据的初始化,
我用jdk1.4.2的set写的一个代码如下:
public void construct(){
System.out.println(" Start construct");
set = new TreeSet();
Random random = new Random( System.currentTimeMillis());
byte[] array = new byte[100];
for( int i = 0;i<100000;i++){
TestObj obj = new TestObj();
java.util.Date date =new Date( random.nextLong());
obj.setDate( date);
System.out.println(i);
set.add( obj);
}
System.out.println(" end construct");
}
但是只有200,000数据的时候jvm就报内存溢出!!!!但是我的机器512内存显示峰值才300M多一点。我换用common也是一样。
现在该怎么办?我从来没有想到过c++和java的差别这么大。由于业务需要,我也不能采用别的方案将这10,000,000个对象分别载入,只能一次将所有的数据放入内存,但是现在......
以前看一个朋友说过用HashSet,但是现在我确实没有信心。
[问题二]:哪位老大用过免费的java的操作ftp的api呀,sun自己提供的没有没有文档,而且提供的功能有限,edt的又要收钱,哪位老大用过别的比较好用的jar吗?