問題タブ [g1gc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5046 参照

java - Zxingでのコンパイルエラー

私は開発用のG1を所有していないので、エミュレーターで最善を尽くしています。そうは言っても、ZXing(Zebra Zrossing)ライブラリを使用して、SDカード内のJPEG画像またはPNG画像をスキャンしようとしています。

Androidプロジェクトのコードを変更しようとしたので、運が悪ければ、カメラからではなく、sdCardの画像からスキャンされました。

次にやったことは、おそらく私の問題の根源です。

新しいAndroidプロジェクト内でJAVASEコードを使用して、「変更された」CommandLineRunnerに画像を提供しようとしましたが、次のようになります。

Eclipseはプロジェクトをビルドしますが、実行しません。VMログには、特に次のメッセージが表示されます。

** 02-08 20:47:45.916:WARN / dalvikvm(619):VFY:静的メソッド939を解決できません:Ljavax / imageio / ImageIO; .read(Ljava / io / File;)Ljava / awt / image / BufferedImage ; 02-08 20:47:45.926:WARN / dalvikvm(619):VFY:0x0004でオペコード0x71を拒否します02-08 20:47:45.926:WARN / dalvikvm(619):VFY:拒否されたLcom / magoco / fread / FRead; .decode2(Ljava / io / File; Ljava / util / Hashtable; Ljava / lang / String;)Ljava / lang / String; 02-08 20:47:45.926:警告/ dalvikvm(619):ベリファイアはクラスLcom / magoco / fread/FReadを拒否しました。02-08 20:47:45.926:警告/ dalvikvm(619):クラスの初期化がnewInstance呼び出しで失敗しました(Lcom / magoco / fread / FRead;)02-08 20:47:45.926:DEBUG / AndroidRuntime(619):シャットダウンVM 02-08 20:47:45.926:警告/ dalvikvm(619):threadid = 3:キャッチされない例外でスレッドが終了します(group = 0x40010e28)02-08 20:47:45.937:エラー/ AndroidRuntime(619):キャッチされないハンドラー:

Webで回答を検索したところ、プリコンパイルされたクラスまたはライブラリが存在する可能性があり(true、Eclipseの外部)、VMが使用できないため、これはDalvikvmで一般的なエラーであるとの回答がありました。それを使用します。

メインのアクティビティにコードを投稿しています:

}

前もって感謝します

monn3t

0 投票する
16 に答える
57765 参照

java - Java G1 garbage collection in production

Since Java 7 is going to use the new G1 garbage collection by default is Java going to be able to handle an order of magnitude larger heap without supposed "devastating" GC pause times? Has anybody actually implemented G1 in production, what were your experiences?

To be fair the only time I have seen really long GC pauses is on very large heaps, much more than a workstation would have. To clarify my question; will G1 open the gateway to heaps in the hundreds of GB? TB?

0 投票する
3 に答える
16989 参照

java - ガベージ ファースト ガベージ コレクタはどのように機能しますか?

誰かが G1 ガベージ コレクターの仕組みを説明できますか? 包括的でわかりやすい説明はまだどこにもありません。

ありがとう

0 投票する
1 に答える
3390 参照

java - Java VM は -XX:G1YoungGenSize を認識しませんか?

JDK1.7.0 で G1 ガベージ コレクタを使用していますが、VM はオプション G1YoungGenSize を認識しません。具体的には、実行すると:

次のエラーが表示されます。

また、G1YoungGenSize の前に「+」記号を付けて試してみました。G1 ドキュメントの一部にそのように記載されているためです。

しかし、同じエラーが発生します。

1.6 update 18 から 21 までの古い JDK を試してみました。G1YoungGenSize は update 20 で認識され、21 から最新の 1.7 ビルド (2010 年 8 月 19 日のスナップショット) まで壊れているようです。

このエラーの原因を知っている人はいますか?

0 投票する
3 に答える
3052 参照

java - G1GC GC ログの意味は何ですか?

G1GC GC ログの正確な意味がわかりません (PrintGCDetails と PrintGCTimeStamps を追加する場合)。誰かが構文に光を当てることができますか?

[

そして、完全な GC とはどういう意味ですか? それは一時停止ですか、それは並列化されていますか? どのGCアルゴリズムが使用されていますか? なぜG1はそれを使うことにしたのですか?

0 投票する
16 に答える
611170 参照

java - java.lang.OutOfMemoryError: GC オーバーヘッドの制限を超えました

それぞれ数個 (15 ~ 20 個) のテキスト エントリを持つ数個 (数十万個) の HashMap オブジェクトを作成するプログラムで、このエラーが発生します。これらの文字列は、データベースに送信される前にすべて (少量に分割せずに) 収集する必要があります。

Sun によると、エラーは「ガベージ コレクションに費やされている時間が長すぎる場合に発生します。総時間の 98% 以上がガベージ コレクションに費やされ、回復されたヒープが 2% 未満の場合、OutOfMemoryError がスローされます。 "。

どうやら、コマンドラインを使用してJVMに引数を渡すことができます

  • 「-Xmx1024m」(またはそれ以上)を介してヒープサイズを増やす、または
  • 「-XX:-UseGCOverheadLimit」を使用して、エラー チェックを完全に無効にします。

最初のアプローチは問題なく機能しますが、2 番目のアプローチは別の java.lang.OutOfMemoryError で終わります。今回はヒープに関するものです。

では、質問: 特定のユースケース (つまり、いくつかの小さな HashMap オブジェクト) に対して、これに代わるプログラムはありますか? たとえば、HashMap の clear() メソッドを使用すると、問題は解消されますが、HashMap に格納されているデータも解消されます。:-)

この問題は、StackOverflow の関連トピックでも説明されています。

0 投票する
3 に答える
7740 参照

java - 誰かがG1ガベージコレクターの出力を理解できますか?

次のオプションを使用して、G1 ガベージ コレクタで Java プログラムを実行しています。

出力は次のようになります...

誰でも何が起こっているのか理解できますか?

0 投票する
3 に答える
663 参照

java - Java SoftReference、パニック GC および GC 動作

SoftReference非効率にならない限り、できるだけ多くのメモリを使用して s を使用してキャッシュを書きたいと考えています。

オブジェクトのサイズを計算するか、使用済みメモリの近似値を取得して、使用済みサイズを推定しようとしていますJVMが、行き止まりです。

SoftReferencejavadoc には、 s がメモリ対応キャッシュに適しているとさえ記載されていますが、JVM実装がSoftReferences をどのように処理するかについての厳格な規則はありません。私はJVM(バージョン6.22以上およびバージョン7)のOracle実装についてのみ話しています。

さて、私の質問(部分的、グループ化、または好きな方法で自由に答えてください):

  1. JVMオブジェクトの最後のアクセスを考慮して、古いものだけを削除しますか? Javadoc は次のように述べています。Virtual machine implementations are, however, encouraged to bias against clearing recently-created or recently-used soft references.
  2. メモリが不足するとどうなりますか? パニックになり、JVMすべてのオブジェクトを食べるだけですか?
  3. JVM生き残るために必要なだけ食べて ( OOMEs なし)、健康に生きるように (CPU に だけを実行させない)GCように指示するパラメータはありますか?