. :
import java.io._
import xml.XML
object XMLLoadHeap {
val filename = "test.xml"
def addFile() {
val is = new BufferedInputStream(new FileInputStream(filename))
val xml = XML.load(is)
is.close()
println(xml.label)
}
def createXMLFile() {
val out = new FileWriter(filename)
out.write("<foo>\n")
(1 to 100000) foreach (i => out.write(" <bar baz=\"boom\"/>\n"))
out.write("</foo>\n")
out.close()
}
def main(args:Array[String]) {
println("XMLLoadHeap")
createXMLFile()
(1 to args(0).toInt) foreach { i =>
println("processing " + i)
addFile()
}
}
}
: -Xmx128m -XX:+HeapDumpOnOutOfMemoryError -verbose:gc , .
, XML. , , . 200MB XML 64- , 3G . . . XMLEventReader.
, , -Xmx4G -XX:+HeapDumpOnOutOfMemoryError, , MAT. 4 XML, , , , , GC. , , XML-.