• 締切済み

アプレットのメモリ解放

yusukeyの回答

  • yusukey
  • ベストアンサー率56% (17/30)
回答No.2

ご指摘のバグは実行環境の話なので、コンパイル環境で利用しても生成されるクラスにはあまり変わりないと思います。 実行環境で検証したバージョンはいくつでしょうか? 最新の1.4.2_09 をインストールして試してみてはいかがでしょう。

Laphroaig
質問者

補足

早速のご回答ありがとうございます。 #1で回答したとおり、実行環境のバージョンは1.4.2_04です。 JREのバージョンをもっと上げてみることにします。

関連するQ&A

  • JAVAのアプレットにてバグ?

    JAVAのアプレットにてバグのようなものが発生します。 表示されるべき文字が表示されないで、その表示されない画面のアプレットの画面を動かしたり、大きさを変えたりすると文字が表示されます。 これはバグでしょうか。 プログラミング自体はコンパイルもでき、ちゃんとその文字が表示されるようになっていて、間違いはないと思います。

    • ベストアンサー
    • Java
  • Linux系OSのメモリの解放について

    お世話になります。 CentOS6.4を使ってPHPアプリを動かしています。 結構メモリを消費するアプリなので、 使っているうちにOutOfMemoryになることがあります。 ※正常終了する場合もあります。 正常に終了しようがOutOfMemoryになろうが、 大量にメモリを確保した後は、そのまま解放されていないように見えます。 例えば、freeコマンドで見たときにに usedが減りません。 【例】 アプリケーション実行前 # apachectl restart # free total used free shared buffers cached Mem: 16334660 472788 15861872 0 105700 120124 -/+ buffers/cache: 246964 16087696 Swap: 2047992 0 2047992 ここでアプリケーション実行し正常に終了。 # free total used free shared buffers cached Mem: 16334660 1754276 14580384 0 106836 120484 -/+ buffers/cache: 1526956 14807704 Swap: 2047992 0 2047992 apacheを再起動すればusedは減るのですが、 他にusedになっているメモリを開放する方法はあるのでしょうか? また、どのようなメカニズムで解放されないのか教えていただけるとありがたいです。 よろしくお願いします。

  • 動的メモリ 解放がうまくいかない

    よろしくお願いします。 一ファイル20万行程度のCSV形式のテキストファイルが、50個ほどあります。 これを一行づつ読み込んで、strtok( ,",")でデータを取得しようと思っています。 ファイルの行数はまちまちなので、新しいファイルを読み込むときに そのファイルの行数を調べて(ここでは count 行あります) callocをつかって、メモリを確保しました。 btxt=(char **)calloc(count,sizeof(char *));/*動的メモリ確保*/ for(i=0;i<count;i++) btxt[i]=(char *)calloc(120,sizeof(char)); /*一行120文字まで*/ if(btxt==NULL){printf("btxt 確保エラー\n"); exit(0);} 上記btxt配列にすべての行数を読み込んで、strtok()処理をした後 for(v=0;v<120;v++){ if(btxt[v]){ free(btxt[v]); btxt[v]=NULL; }  } free(btxt);  btxt=NULL; で解放してから、次のファイルに移ります。 問題は、ループするごとにメモリ容量がどんどん減ってきて、30ループもさせると メモリ不足でエラーが出ることです。 ブレークポイントを使って調べてみたのですが ループ一回目 calloc前 707.7 MB: calloc後 748.6MB 解放(したつもり)後 747.9 MB ループ二回目 calloc前 750.6 MB: calloc後 794.6MB 解放(したつもり)後 793.8 MB ・・・・・・・・・・・・・・・・・・・ ループ四回終了時には868.3MBにもなって、初めより160MBも使ってしまいます。 free()が効いてないと思うのですが、どこがおかしいのか教えてくださいませ。

  • サーブレットコンテナのメモリ解放について

    お世話になっております。 今回質問させていただきたいのはサーブレットコンテナ上のメモリ解放についてです。サーブレットの動作フローとしては、 (1)クライアントからHTTPリクエストが投げられる。 (2)Webサーバがリクエストを受け取り、コンテナへリクエストを委譲する。 (3)サーブレットコンテナは、リクエストとレスポンスのラッパーオブジェクトを生成し、リクエストへリクエスト情報をマッピングする。 (4)(3)で生成したリクエスト/レスポンスオブジェクトをサーブレットへ参照渡しする。 (5)サーブレットが処理を実行する (6)レスポンスを生成し、クライアントへ返す。 という流れかと思いますが、この際に(3)で生成されるラッパーオブジェクトや、ロードされたサーブレットが解放されるのは、レスポンスを返した後なのでしょうか。それとも次のリクエストに備え、オブジェクト本体は確保されたまま、次のマッピングに備えるのでしょうか。(サーブレットの解放はコンテナが終了した際?) はたまた、やはりJava特有のガベージコレクションが働き、メモリ解放はガベージコレクションのタイミングで行われるのでしょうか、、 よろしくお願い致します。。m(._.)m

    • ベストアンサー
    • Java
  • Javaアプレットで作成したレーダーチャートをjimiを使って画像ファイルとして出力したい

    現在、アプレットを使って多角形のレーダーチャートまで作成したのですが、アプレットビューアーなどでしか、実行結果が見ることができません。そこで、ネットで検索して、「jimi」なるものを見つけたのですが、サンプルコードを見つけることが出来なかったので、質問させていただきます。 「jimi」を使ってやりたいことは、「アプレットで作成したレーダーチャートをGIF or Jpegの画像ファイルに出力する」ということなんです。 なんとなくできそうなんですが、プログラムのコンパイル作業時に、 test.java:45: 例外 com.sun.jimi.core.JimiException は報告されません。スローするにはキャッチまたは、スロー宣言をしなければなりません。 com.sun.jimi.core.Jimi.putImage(image, "test.jpg"); というエラーが出て困っています・・・。 恐らく、例外(Exception)を記述する必要があるのかなぁ?と思ってるんですが・・・的外れでしょうか?^^; ご存知の方がいらっしゃれば、ご教示願いますm(_ _)m

    • ベストアンサー
    • Java
  • Firefox3終了時のメモリ解放の遅さ

    Firefox3にバージョンアップしてからというものの Firefox3を終了する→起動するという動作を行うと 「Firefoxは起動しているが応答しません。新しいウインドウを開くにはまず既存のFirefoxプロセスを終了させるか、コンピューターを再起動させなければなりません。」 と言ったエラー文が出てしまいます。 プロセスを確認すると確かにFirefox.exeが残っており、そいつを手動で終了させるか30秒くらい待つと勝手に消えるのでまたFirefoxを起動する事が出来ます。 ですが、Firefox2の頃はこんな事はなかったですし、やはり不便に感じています。 このFirefoxのメモリ解放の遅さを解決するいい方法はないでしょうか。 以下が使用しているPCのスペックです COU C2D 6600 メモリ 4G マザー ASUS P5B VGA Gefo 7950GT OS WinXP SP3 宜しくお願いします。

  • Windows7のIEでJavaアプレットの設定

    いつもお世話になっております。 以下の環境でIEでJavaアプレットの設定をしたいのですが、カテゴリーとして出現しません。 アプレットは使用できるのですが、設定箇所を知りたいのです。 ご教授、よろしくお願いいたします。 ● OS: Windows7 ● ブラウザ: IE8、IE9 ● JRE: 6-update26 ● 手順: IEの「ツール」-「インターネットオプション」-「詳細設定」をひらく。 ※xpのIE8であれば、上記の「詳細設定」の画面にJava(Sun)というカテゴリーが出現しており、アプレットの使用を選択するチェックボックスがあります。Windows7だと同じ手順をふんでも出現しません・・・

  • IE7でしばらくネットしてるとメモリ不足になります(Vista HP メモリ4G)

    IE7を利用しています。以前にはこんなことなかったのですが、ネットをしばらくしていると「メモリ不足ですプログロムを終了して下さい」みたいな警告がでてIEを終了するとメモリが解放されます。 メモリ使用量を監視しているのですが、ネットをしていない時は1500MB程でネットをしばらくやっていると3000MB近くになります。こんなにメモリを消費するものでしょうか?ブラウザを終了すれば元に戻るのですが、ページを閉じただけでは全くメモリは解放されません。なぜでしょうか? Vista HP メモリ4G CPU E6850です。 仮想メモリは使用していません。 いい方法はありますか? よろしくお願い致します。

  • メモリの解放について

    C++でDirectXを用いたゲームを作成しているのですが、プログラムのコンパイルは通るのに、メモリの解放関数が行われると強制終了されエラーメッセージが出力されます。 デバッグをしてみて要因を調べてみましたが、特に強制終了するような問題があるとも思えないのです。(ただ自分の知識不足であると思いますが) ためしにエラーが出ている部分をコメントにしてみたら、そしたらヒープが壊れてるとのエラーメッセージが出るのですがどう対処したらいいでしょうか? ちなみにRELEASEする変数の中身はちゃんと入ってます。 ソース: const int MAXFONT = 16; LPD3DXFONT g_pxfonts[MAXFONT]; LPD3DXSPRITE g_ptextsprite = NULL; int d=0; void DirectGraphics::CleanupD3D(){ //フォント解放 for(d=0; d<MAXFONT; d++){ if(g_pxfonts[d]!=NULL){ g_pxfonts[d]->Release();//エラー } } if(g_ptextsprite) g_ptextsprite->Release();//エラー //メッシュ、テクスチャ解放 for(d=0; d<MAXMODEL; d=d+1){ if(g_models[d].used == TRUE){ if(g_models[d].pmaterials != NULL){ delete[] g_models[d].pmaterials; } if(g_models[d].ptextures != NULL){ for(DWORD j=0; j<g_models[d].nummaterials; j=j+1){ g_models[d].ptextures[j]->Release(); } delete[] g_models[d].ptextures; } if(g_models[d].pmesh != NULL){ g_models[d].pmesh->Release(); } } } if( g_pd3dDevice != NULL ) g_pd3dDevice->Release(); if( g_pD3D != NULL ) g_pD3D->Release(); } エラーの出ているフォントの変数の中身はこちらに入れております。 //ゲーム用のフォントを作成 int DirectGraphics::CreateGameFont(LPCTSTR fontname, int height, UINT weight){ //空いている要素を探す int idx; for(idx=0; idx<MAXFONT; idx=idx+1){ if(g_pxfonts[idx] == NULL) break; } if (idx>=MAXFONT) return -1; //フォントを作成する HRESULT hr = D3DXCreateFont( g_pd3dDevice, -height, 0, weight, 1, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, fontname, &g_pxfonts[idx]); if( FAILED( hr ) ) return -1; return idx; }

  • アプレットをブラウザで表示できない

    こんにちは 似たような質問がいくつかありましたが 解決していないものもあったので また質問させていただきます。 kibou00さん(02/06/17 00:50)の質問とよく似ているのですが 私の場合実行しようとすると Exception in thread "main" java.lang.NoSuchMethodError: main というエラーが出ます。 手順は 1、コマンドプロンプトを開きます。 2、javac test.javaでコンパイルし、test.classを生成します。 (コンパイラはJava2SDKのバージョン1.4.2_09です。) (このとき、何もメッセージはでませんでした。) 3,java testで実行しようとすると xception in thread "main" java.lang.NoSuchMethodError: main というエラーが出ます。 また以下の内容の test.html を test.class と同じディレクトリに置いてIEで開くとアップレットが表示されない以外(タイトルと本文)。 はちゃんと表示されます <html> <head> <title>タイトル</title> </head> <body> <h3>プログラム<h3> <applet code=test.class width=300 height=210><br> </applet> </body> </html> なぜブラウザではアプレットが表示されないのでしょうか。 ただし、appletviewerを使うとちゃんとアプレットだけは 正しく表示されます。 どなたか教えていただけないでしょうか? 本当に困っています。 私の他にも困っている人がたくさんいるような気がします。 お願いします。

    • ベストアンサー
    • Java