- - PR -
例外BufferOverflowExceptionへの対処法について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-04-06 23:04
Dreamweaverで作成したファイル(htmlやjsp)をNetBeansプロジェクトフォルダにアップロード(put)するという形で作業を進めておりましたところ、
コンパイラで例外が発生しました java.nio.BufferOverflowException(以下略) となり、構築に失敗します。 相対「put」操作がターゲットバッファのリミットに達したときスローされる、チェックされない例外です。 というところには検索で行き着いたのですが、それ以上は進まず、この例外に対する対処方法がわかりません。 対処方法をご存じの方、ご教授ください。 | ||||
|
投稿日時: 2007-04-06 23:37
コンパイラ側ということなので、IDEを動かしているVMの起動時パラメータで メモリの上限を増やすなどすれば対応できるかもしれませんね。 NetBeansでの具体的なやり方は知りませんが、検索すればみつかるのでは? VMのパラメータ自体については http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/java.html このあたりを参照 | ||||
|
投稿日時: 2007-04-07 22:54
返信ありがとうございます。
返信を参考に解決してからご報告しようと思っていましたが、解決までいたっておりません。 | ||||
|
投稿日時: 2007-04-07 23:08
java.nio.BufferOverflowExceptionなのでヒープとは無関係では?
ヒープが足りない場合の例外はjava.lang.OutOfMemoryErrorです。 BufferOverflowExceptionは、I/O処理などの際に バッファの容量を越えて書き込もうとした場合に発生するもので、 一般的にバッファ管理(というかバッファの扱い方)のバグが原因です。 例えば、必要なバッファは1KBで十分だと開発者が判断し、 実際にはそれ以上の容量が必要になる状況があるにも関わらず、 固定のバッファ容量でやりくりする対策を怠った場合などです。 なので、例外のスタックトレースが省かれていると、 どこのコードに問題がありそうかの判断が難しいと思います。 | ||||
|
投稿日時: 2007-04-09 08:55
Bufferedxxxxというクラスのメソッドを実行していて出てるエラーではないですか?
そのクラスのコンストラクタでバッファサイズを指定できるとおもいます。 例 BufferedOutputStream(OutputStream out, int size) その部分を修正してはどうでしょう。 あしゅさんも書かれてますが、スタックトレースがあればより適切なレスがつくでしょう。 | ||||
|
投稿日時: 2007-04-09 17:19
java.lang.StackOverflowErrorと勘違いしていましたね。 ご指摘、感謝します。 また斜め読みで勘違いレスをつけてしまった… orz |
1