Here is my code that throws java.lang.OutOfMemoryError: Java heap space
:
StringBuilder sb = new StringBuilder();
for (int i = 0; i< ranks.size(); i++) {
Map<String, String> map = ranks.get(i);
sb.append("SELECT ");
int iter = 0;
for (String key : map.keySet()) {
if (key.equals("ware_md5")) {
sb.append("'").append(map.get(key)).append(" ' AS ").append(key);
}
else {
sb.append(map.get(key)).append(" AS ").append(key);
}
if (iter < map.keySet().size() - 1) {
sb.append(",");
}
iter++;
}
if (i < ranks.size() - 1) {
sb.append(" UNION ALL ");
}
}
return sb.toString();
'ranks' ArrayList contains about 30 000 values
Is there any way to rewrite this peace of code to avoid this error ?