2011-07-01 60 views
0

我使用的是berkeley db java版(Base api)向db数据库插入5个缺少行我已经在200 ms内插入了1000行bt在插入5个缺少行时出现问题我觉得有一些东西要paramaeter在EnvironmentConfig类或DBCONFIG类设置如何增加java高速缓冲存储器的堆大小

错误,如:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 
    at java.util.Arrays.copyOfRange(Unknown Source) 
    at java.lang.String.<init>(Unknown Source) 
    at java.io.BufferedReader.readLine(Unknown Source) 
    at java.io.BufferedReader.readLine(Unknown Source) 
    at WriteDataBase.main(WriteDataBase.java:29) 
+0

增加堆大小?谷歌是你的朋友http://tinyurl.com/6g3gvx9 – Kal

+1

可能的重复[写入记录到Berkeley DB的问题](http://stackoverflow.com/questions/6549610/problem-in-writing-record-to-berkeley -db)....几分钟前问。 –

回答

1

你只需要增加JVM的最大堆大小。将-Xmx512m添加到您的启动选项。例如,如果你的应用是在一个jar文件:

java -Xmx512m -jar yourjarfile.jar 

或者,如果你是直接执行类:

java -Xmx512m com.whatever.YourClassName 

512m表示设置512兆字节的最大堆大小。这可能太大或太小,取决于您的应用程序,因此您需要进行实验。