- PR -

例外BufferOverflowExceptionへの対処法について

1
投稿者投稿内容
mk
会議室デビュー日: 2006/09/18
投稿数: 10
投稿日時: 2007-04-06 23:04
Dreamweaverで作成したファイル(htmlやjsp)をNetBeansプロジェクトフォルダにアップロード(put)するという形で作業を進めておりましたところ、

コンパイラで例外が発生しました
java.nio.BufferOverflowException(以下略)
となり、構築に失敗します。
相対「put」操作がターゲットバッファのリミットに達したときスローされる、チェックされない例外です。
というところには検索で行き着いたのですが、それ以上は進まず、この例外に対する対処方法がわかりません。
対処方法をご存じの方、ご教授ください。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-04-06 23:37
引用:

mkさんの書き込み (2007-04-06 23:04) より:
コンパイラで例外が発生しました
java.nio.BufferOverflowException(以下略)
となり、構築に失敗します。



コンパイラ側ということなので、IDEを動かしているVMの起動時パラメータで
メモリの上限を増やすなどすれば対応できるかもしれませんね。
NetBeansでの具体的なやり方は知りませんが、検索すればみつかるのでは?

VMのパラメータ自体については
http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/java.html
このあたりを参照
mk
会議室デビュー日: 2006/09/18
投稿数: 10
投稿日時: 2007-04-07 22:54
返信ありがとうございます。
返信を参考に解決してからご報告しようと思っていましたが、解決までいたっておりません。
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2007-04-07 23:08
java.nio.BufferOverflowExceptionなのでヒープとは無関係では?
ヒープが足りない場合の例外はjava.lang.OutOfMemoryErrorです。

BufferOverflowExceptionは、I/O処理などの際に
バッファの容量を越えて書き込もうとした場合に発生するもので、
一般的にバッファ管理(というかバッファの扱い方)のバグが原因です。

例えば、必要なバッファは1KBで十分だと開発者が判断し、
実際にはそれ以上の容量が必要になる状況があるにも関わらず、
固定のバッファ容量でやりくりする対策を怠った場合などです。

なので、例外のスタックトレースが省かれていると、
どこのコードに問題がありそうかの判断が難しいと思います。
progman
大ベテラン
会議室デビュー日: 2005/06/08
投稿数: 227
投稿日時: 2007-04-09 08:55
Bufferedxxxxというクラスのメソッドを実行していて出てるエラーではないですか?
そのクラスのコンストラクタでバッファサイズを指定できるとおもいます。

BufferedOutputStream(OutputStream out, int size)

その部分を修正してはどうでしょう。

あしゅさんも書かれてますが、スタックトレースがあればより適切なレスがつくでしょう。

nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-04-09 17:19
引用:

あしゅさんの書き込み (2007-04-07 23:08) より:
java.nio.BufferOverflowExceptionなのでヒープとは無関係では?
ヒープが足りない場合の例外はjava.lang.OutOfMemoryErrorです。



java.lang.StackOverflowErrorと勘違いしていましたね。
ご指摘、感謝します。
また斜め読みで勘違いレスをつけてしまった… orz
1

スキルアップ/キャリアアップ(JOB@IT)