ユーザーがXMLファイルを投稿するサーブレットがあります。
私はそのファイルを次のように読みました:
String xml = request.getParameter("...");
ここで、xmlドキュメントが10KBであるとしましょう。変数を作成したので、その変数xml
に10KBのメモリを使用しています。
次に、そのxmlを(xercesを使用して)解析する必要があり、saxparsers parseメソッド(http://docs.oracle.com/javase/1.5.0/docs/api/)に渡すときに入力ストリームに変換しました。 javax / xml / parser / SAXParser.html)。
したがって、文字列をストリームに変換すると、メモリ使用量が2倍になりますか?
これについていくつかの説明が必要です。
コードをステップ実行しているときにプロセスをvisualvmまたはjconsoleに接続すると、デバッガーでコードをステップ実行するときに追加のメモリを使用しているかどうかを確認できますか?
このエンドポイントは大きな打撃を受けるため、これを非効率的に行っていないことを確認したいと思います。