お世話になります。
java -verbose:ge クラス名
で実行したところ
[GC 511K->372K(960K), 0.0297021 secs]
[GC 849K->829K(1344K), 0.0320455 secs]
[Full GC 829K->829K(1344K), 0.0650338 secs]
[GC 1277K->1237K(1852K), 0.0499598 secs]
[GC 1749K->1749K(2272K), 0.0198444 secs]
[Full GC 1749K->1749K(2272K), 0.0806215 secs]
のような結果を得ましたが、
これはどのようにみればよいのかがわかりません。

見方もしくは解説があるサイトを教えていただけますか?

このQ&Aに関連する最新のQ&A

HTML5 API」に関するQ&A: HTML5でのgoogle map api v3の

A 回答 (2件)

FullGCはJavaVMが確保しているメモリ空間全てに対して


開放できるメモリがないか調査します。
一般的に処理時間が多くかかる傾向にあります。

それに対しGCは一部分(世代管理されていれば新世代だけといったもの)
に対してメモリチェックを行います。
細かいことは各種JavaVMでのGCの実装によって違うので
はっきりとはいえません。

ちなみにFullGCはSystem.gc()を使って意図的に発生させることができます。

メモリ変化がない場合は文字通りGCを行っても
メモリを開放できる部分が無かったことを表します。
既にメモリ開放された状態で意図的にSystem.gc()を使い
FullGCを発生させてもメモリ変化がないケースがあるといえます。

質問の例では、なぜそのような現象が起こるかは
別途調査が必要かもしれませんが、ただ単にJavaVMの
GCアルゴリズムが良くないのかもしれません。
    • good
    • 0
この回答へのお礼

なるほど。。。

わかりました!
ありがとうございました。

>各種JavaVMでのGCの実装によって違うので
はっきりとはいえません。

これってJavaの質問の際によくでてくるフレーズですね。
キーワードですね!

お礼日時:2003/09/22 13:55

>[GC 511K->372K(960K), 0.0297021 secs]



これを例にとると

1.GCが行われた
2.メモリ使用量511Kbytes
3.GC後メモリ使用量372Kbytes
4.javaVMが確保しているメモリ空間は960Kbytes
5.GCにかかった時間は0.0297021秒

補足
Runtimeクラスのメソッドで同様の情報が取得できます。

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/api/java …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

あとFullGCと普通のGCの違いはどう違うのでしょうか?
[Full GC 829K->829K(1344K), 0.0650338 secs]
[GC 1277K->1237K(1852K), 0.0499598 secs]
の部分ではGC後使用メモリに変化がないのですが、
これはどういうことでしょうか?

お礼日時:2003/09/21 00:50

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QGC8の読み方を教えて下さい。

インプのGC8ですが

ジーシーはちですか?

ジーシーエイトですか?

Aベストアンサー

GC8型→ジーシーはちがた

自分は、最後に型を付けて読みやすい読み方をしてますが、どっちでも良いと思いますよ。

Qjavascript:(function(q, a, z) { q[a]("f")[z] = Ma

javascript:(function(q, a, z) { q[a]("f")[z] = Math.floor(Math.random()*999999);document.forms[0].submit(); })(document, "getElementById" ,"value");

このブックマークレットをsetIntervalで動かしたいのですがどう書き換えればいいのかよくわかりません。

調べたらstartfncやsetInterval(ここに何かを指定?,ミリ秒);を付ければ可能なことがわかったのですがうまくいきません。
初心者です。何卒宜しくお願いします

Aベストアンサー

こんにちは

>setIntervalで動かしたいのですが~~
setIntervalは以下のような構文になります。
 intervalID = window.setInterval(func, delay);
https://developer.mozilla.org/ja/docs/Web/API/Window/setInterval

ご提示のスクリプトは即時関数の形式をとっていますので、さらに関数化(匿名関数でも可)して上記構文のfuncに当てはめれば良いことになります。
http://qiita.com/katsukii/items/cfe9fd968ba0db603b1e
スクリプトは概ね以下の2行と等価ですので、こちらを関数化しても同じですね。
(フォームに乱数を設定しサブミットする)
 document.getElementById("f")..value = Math.floor(Math.random()*999999);
 document.forms[0].submit();


ところで、ご提示のスクリプトではフォームをサブミットするようになっていますが、通常はサブミットするとページが遷移してしまうので、setIntervalで繰り返すことは難しいはずです。
まぁ、target属性が設定されていたりすれば別ですけれど・・・
使い方がいまいちよくわかりませんが、文法的には
 setInterval( function(){
  ~~~
}, dalay);
とするか、
 setInterval(hoge, dalay);
 function hoge(){
  ~~~
 }
のようにすることで、実行が可能なはずです。(繰り返しできる環境であれば・・・)

こんにちは

>setIntervalで動かしたいのですが~~
setIntervalは以下のような構文になります。
 intervalID = window.setInterval(func, delay);
https://developer.mozilla.org/ja/docs/Web/API/Window/setInterval

ご提示のスクリプトは即時関数の形式をとっていますので、さらに関数化(匿名関数でも可)して上記構文のfuncに当てはめれば良いことになります。
http://qiita.com/katsukii/items/cfe9fd968ba0db603b1e
スクリプトは概ね以下の2行と等価ですので、こちらを関数化しても同じですね。
(フォ...続きを読む

Qjava -verbose:gcの見方について

お世話になります。
java -verbose:ge クラス名
で実行したところ
[GC 511K->372K(960K), 0.0297021 secs]
[GC 849K->829K(1344K), 0.0320455 secs]
[Full GC 829K->829K(1344K), 0.0650338 secs]
[GC 1277K->1237K(1852K), 0.0499598 secs]
[GC 1749K->1749K(2272K), 0.0198444 secs]
[Full GC 1749K->1749K(2272K), 0.0806215 secs]
のような結果を得ましたが、
これはどのようにみればよいのかがわかりません。

見方もしくは解説があるサイトを教えていただけますか?

Aベストアンサー

FullGCはJavaVMが確保しているメモリ空間全てに対して
開放できるメモリがないか調査します。
一般的に処理時間が多くかかる傾向にあります。

それに対しGCは一部分(世代管理されていれば新世代だけといったもの)
に対してメモリチェックを行います。
細かいことは各種JavaVMでのGCの実装によって違うので
はっきりとはいえません。

ちなみにFullGCはSystem.gc()を使って意図的に発生させることができます。

メモリ変化がない場合は文字通りGCを行っても
メモリを開放できる部分が無かったことを表します。
既にメモリ開放された状態で意図的にSystem.gc()を使い
FullGCを発生させてもメモリ変化がないケースがあるといえます。

質問の例では、なぜそのような現象が起こるかは
別途調査が必要かもしれませんが、ただ単にJavaVMの
GCアルゴリズムが良くないのかもしれません。

QIEの[ツールバー]-[標準のボタン]、[アドレスバー]を消したい。

IEのツールバーの
・標準のボタン
・アドレスバー
を消す命令ってありませんか?
「Open時にダイアログ形式で開く」以外の方法を教えてください。
要は、ページ初期表示時に強制的に消したいのですが。。。

Aベストアンサー

・・・たしか、無い筈、ですねぇ。
強いて言えば、IEをキオスクモードで起動する手はありますね。

IEXPLORE -k 'ファイル名'

ですね。
目的が不明なので、役にたたないかもしれませんが(^^;

QアセトンのGC測定

アセトンをGCで測定しようと思いますが、GCの温度設定を何度にすれば、良いのか教えて下さい。

揮発性、引火性が高い為、GCで爆発等問題が起きないか心配です。

Aベストアンサー

1) GC には 色々な 部分 から 構成されているので、ただ 温度をコントロールするだけでなく、どのような
サンプルをどのようにインジェクト(注入?) するかによっても温度設定がかわるかもしれません。
2) まずサンプルの量ですが、これはデテクターにもよりますが、多分アナタの使用GCはFID でしょうから、
アセトンの量はミクロg 以下 100 ピコg 以上の範囲に コントロールできるように、ですから爆発などの問題
はありません。 サンプルを溶液として注入するのなら、アセトン以外の物質があれば、その物質も同じ
GC測定でCO2 や H2O となって排出するように考えねばなりません
3) サンプルとしてHead Space ( ガス を注入) する場合も アセトンの量は少なめ( 気体としてミクロg 以下)
にインジェクトする
4) 溶液の他の物質の沸点が高い場合はインジェクターの温度をその沸点より20C程高めに設定、
例えばプロハノールなら120C-130C 位に溶液はテストで1-2 ミクロ L 注入してピークを観察
5) カラム の温度はアセトンだけなら 30C - 40C デいいですが、 カラムを清掃スル意味でアセトンや他の物質
のピークの後に多分 15-20分後 カラムの温度設定を20分後 150C (5プン) 位にして次の測定のた
めにカラムをキレイにして それから温度を下げてやればいいでしょう。
6) サンプル注入に注意して、多すぎるとカラムを飽和スルコトデ、カラムを汚染します。知っている同僚と相談して

1) GC には 色々な 部分 から 構成されているので、ただ 温度をコントロールするだけでなく、どのような
サンプルをどのようにインジェクト(注入?) するかによっても温度設定がかわるかもしれません。
2) まずサンプルの量ですが、これはデテクターにもよりますが、多分アナタの使用GCはFID でしょうから、
アセトンの量はミクロg 以下 100 ピコg 以上の範囲に コントロールできるように、ですから爆発などの問題
はありません。 サンプルを溶液として注入するのなら、アセトン以外の物質があれば、そ...続きを読む

Q[クラス名].[メソッド名].[メソッド名]という書き方。

javaを勉強している者です。

少しピンと来ない書き方があるのですがそれはタイトルの通りの書き方で、具体的には

Main.getMailStore().isNewMail()

という書き方です。MailというのがクラスでgetMailStore()というのがそのクラスで宣言されているメソッドで下記のように実装されています。(MailStoreというのはインターフェースとして別のファイルで宣言されています。)

private static MailStore _mailStore;

public static MailStore getMailStore(){
return _mailStore;
}

(MailStoreというインターフェースの中にisNewMailというメソッドは宣言されています。)

public interface MailStore{
public boolean isNewMail(String uid);
}

これらだと、最初のMain.getMailStore().isNewMail()というのは、
「まず、MainクラスのgetMailStoreメソッドを呼び出して、そこでreturnされてくるMailStore型のクラスの中の、isNewMailメソッドを呼び出している」というのを一回で書いてしまっている書き方ということで合っているでしょうか?少しピンと来ないので・・(特にreturnされるメソッド(getMailStore)にそのまま.[メソッド]という書き方をのっけるあたりが)

よろしくお願いします。

javaを勉強している者です。

少しピンと来ない書き方があるのですがそれはタイトルの通りの書き方で、具体的には

Main.getMailStore().isNewMail()

という書き方です。MailというのがクラスでgetMailStore()というのがそのクラスで宣言されているメソッドで下記のように実装されています。(MailStoreというのはインターフェースとして別のファイルで宣言されています。)

private static MailStore _mailStore;

public static MailStore getMailStore(){
return _mailStore;
}

(MailSt...続きを読む

Aベストアンサー

あってます。

Qシングルトン内で使用したオブジェクトのGC

基本的な質問で恐縮ですがGCについて教えてください。

例えば、シングルトンインスタンス内のhogemethodメソッドにてHashMapのインスタンスを
生成・使用した場合(以下の質問に続く)、

【質問】
hogemethodメソッドが終わればHashMapのインスタンスはスコープを外れるので、hogeMap = null;などしなくてもGC対象となり、そのうちGCされるのでしょうか?いやいや、hogeMap = null; することによりGC対象となり、そのうちGCされるのでしょうか?それとも、nullセットしようがしまいが、シングルトンのインスタンスが存在し続ける限りGC対象とはなってもGCされることは無いのでしょうか?

package hoge;

public class MySingleton {

 private static MySingleton instance = new MySingleton();

 private MySingleton() {}

 public static MySingleton getInstance() {
  return instance;
 }

 public void hogemethod() {
  HashMap hogeMap = new HashMap();
  hogeMap .put("りんご", "apple");
  hogeMap .put("ぶどう", "grapes");
    :
  hogeMap = null; ←★hogeMap をGC対象にするためにはnull代入は必要なのか?
 }
}

よろしくお願いします。

基本的な質問で恐縮ですがGCについて教えてください。

例えば、シングルトンインスタンス内のhogemethodメソッドにてHashMapのインスタンスを
生成・使用した場合(以下の質問に続く)、

【質問】
hogemethodメソッドが終わればHashMapのインスタンスはスコープを外れるので、hogeMap = null;などしなくてもGC対象となり、そのうちGCされるのでしょうか?いやいや、hogeMap = null; することによりGC対象となり、そのうちGCされるのでしょうか?それとも、nullセットしようがしまいが、シングルトンのインスタン...続きを読む

Aベストアンサー

変数の参照するオブジェクトは、使われなくなった時点でGC対象となります。(※)
使われなくなった時点とは即ち、メインスレッド・及びメインスレッドから派生した全てのサブスレッドから参照が無くなったら、という意味です。
hogeMapはローカル変数で、かつより広いスコープの変数に参照を渡しているわけでも無いので、
明示的にhogeMapにnullをセットすればその時点でhogeMapの保持するオブジェクトはGC対象となりますし、
明示的にnullをセットしなくてもhogemethodを抜けた時点でGC対象となります。
シングルトンとかは関係ありません。
従って、「★hogeMap をGC対象にするためにはnull代入は必要なのか?」に対する答えとしては、「必要ではない」となりますね。

※システムでプールしているオブジェクトなんかはどうなるかわかりませんが・・・

Q[DOM,CSS,Fx,Opera]insertRule

IE 6.0/7.0はdeleteRuleをサポートしないようです
代替案はなんでしょうか?

http://www.webdevout.net/browser_support_dom.php

Aベストアンサー

styleSheet.removeRule( [iIndex])
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/properties/textjustify.asp

Opera8
document.getElementsByTagName('style')[0].appendChild(documen.createTextNode('body{background-color:green}'))

Opera9
http://jp.opera.com/docs/specs/js/dom/css/

QGCパーセントで生物を分類する意味

GCパーセントで生物を分類する意味を教えて下さい。また、ATは水素の二重結合である一方、GCは三重結合であるためGCパーセントが高い生物ほど遺伝的変異が起きにくく、また高等生物と判断してよろしいのでしょうか。

Aベストアンサー

GC含量と生物の複雑性とは関係がないと考えて良いとおもいます。しかし、GC含量を測定することは現在でも重要な意味を持つ場合があります。詳細なシーケンスデータの蓄積がない場合には、その生物の染色体組成を特徴づける一つの指標になります。シーケンシングには時間と費用がかかる一方、生化学的手法によるGC測定は簡便で、非常に安上がりだからです。
 モデル生物のようなメジャーな生物のゲノムはすでに配列決定されていますが、未だに配列決定されていない種が大多数です。そのような生物学的に重要視されていない種の配列をすべて決定するほど、シーケンシング技術は簡便ではありません。これは微生物学分野のような、未知の種が多い場合に特に言えることです。そのような理由から、現在でも新種の微生物を論文発表する際にはGC含量を記載します。他の回答者のおっしゃる通り、GCは指標の一つでしかありません。同一属の生物でもGC含量が違う場合(これは例外だが)があるのです。しかし、GC含量が異なっていれば間違いなく別種といえます。微生物を分類するにはさらに、一部のDNA(16S rRNA遺伝子)や脂肪酸組成や増殖環境などを詳細に調べます。
 またヒトのような高等生物では、全ゲノムが明らかになる以前から染色体のGC含量の局所的なLowとHigh領域が注目を集めました。ゲノムのGCモザイクによるバンド構造は、チンパンジーなどのそれと酷似しています。
 以前読んだ本に、GC圧という説が載っていました。生化学実験講座だったかな?GCはATより結合力が強いので、高温環境などの変異性環境での進化で保存されてきたという説です。そして生物が高温から低温に移行するとGC圧から解放されAT含量が増すという説で、実験データもそれなりにしっかりしたものでした。ずいぶん前の本で、今の説は違うかもしれませんが、私はその研究に大変感銘を受けた記憶があります。GCは奥の深い世界だと思いますよ。

GC含量と生物の複雑性とは関係がないと考えて良いとおもいます。しかし、GC含量を測定することは現在でも重要な意味を持つ場合があります。詳細なシーケンスデータの蓄積がない場合には、その生物の染色体組成を特徴づける一つの指標になります。シーケンシングには時間と費用がかかる一方、生化学的手法によるGC測定は簡便で、非常に安上がりだからです。
 モデル生物のようなメジャーな生物のゲノムはすでに配列決定されていますが、未だに配列決定されていない種が大多数です。そのような生物学的に重要視さ...続きを読む

Q2^0, 2^(-1), 2^(-2), ..., 2^(-n)

指令行の引数に正の整数 n を指定すると, 2^0, 2^(-1), 2^(-2), ..., 2^(-n) を順に各行に出力していくプログラムで、 n が大きな値になっても,小数点以下100桁までほ正確に結果を出力するようにしたいのですが、どうしたらよいでしょか?

Aベストアンサー

BigDecimalを使っては。

参考URL:http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html


人気Q&Aランキング

おすすめ情報