最近、次のコードをfor-each から Iteratorに変更しました ( iterator.remove()を使用)
ヒープスペースのメモリの問題をすぐに解決しました。
誰かがiterator.remove()が本当にどのように役立ったか説明できますか??
final Iterator<Entry<String, String>> metaTagIterator = localeDO.getMetaTags().entrySet().iterator();
while (metaTagIterator.hasNext()) {
final Entry<String, String> entry = metaTagIterator.next();
if (ImportUtil.isI18nLiferayLayoutProperty(entry.getKey())) {
layoutProps.setProperty(entry.getKey() + StringPool.UNDERLINE + locale, entry.getValue());
} else if (ImportUtil.isLiferayLayoutProperty(entry.getKey())) {
layoutProps.setProperty(entry.getKey(), entry.getValue());
} else {
myCustomLayoutProps.setProperty(entry.getKey() + StringPool.UNDERLINE + locale, entry.getValue());
}
metaTagIterator.remove();
}