問題タブ [jvm]
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.
java - Java VM 5 から 6 に更新すると、メモリ消費量が大幅に増加しました
コマンドラインを介して実行されるJavaアプリケーションを使用しています。XML ファイル、特に 400MB を超える dblp.xml データベースを扱います。
私は JVM 5 を使用していましたが、私のアプリは dblp.xml を処理するために 600 ~ 700 MB のメモリを必要としていました。JVM 6 に更新した後、1 GB 以上のメモリが必要になり始めました (私が持っていないものです)。ただし、実行速度は少し速くなります。
この同じコンピューターで何度も何度もテストしたので、メモリ消費量の違いは確かです。その結果、同じメモリ消費量の差が生じます。
-Xmx800M または -Xmx1000M だけで、特別なパラメータは設定しませんでした。Ubuntu Hardy Heron をデュアル コア 1.7 GHz、1.5 GB のメモリで実行 top/ps コマンドのみを使用して測定
なぜこれが起こるのか誰にも分かりますか?JVM 6 を使用したかったのは、実稼働サーバーで使用されている JVM であり、簡単に変更することができないためです。
ありがとう
java - 実行時に取得されるファイルにJVM引数を配置する
現在のアプリケーションのjarを作成していますが、これにはいくつかのJVM引数を設定する必要がありました。
これらのJVM引数をコマンドラインではなくファイルに設定する方法はありますか?
私はいくつかのハンティングを行いましたが、おそらくjava-argsを設定することで、java.propertiesファイルで何かを実行できるようですが、これを実行するための形式への参照が見つかりません。
私は間違った木を吠えていますか?
これは可能ですか?もしそうなら、どのように?
そうでない場合、JVM引数を指定する他の方法はありますか?
java - Javaでトップレベルクラスなしで非トップレベルクラスにアクセスする
TestThis.java
次のようなJava ファイルがあります。
上記のコード ファイルは、警告やエラーなしで正常にコンパイルされています。A
クラスのいずれかにアクセスする方法、またはB
他の外部クラスからトップレベルのクラスなしでアクセスする方法はありますか?
そうでない場合、なぜJavaはトップレベルクラスなしでそのようなファイルのコンパイルを許可するのでしょうか?
windows-mobile - iPAQ 上の MySaifu JVM および BlueCove API
iPAQ (h5550) で BlueCove を実行すると、少し問題が発生します。MySaifu JVM をインストールし、BlueCove jar ライブラリをクラスパスに追加しましたが、テスター jar または BlueCove API を参照するその他のファイルを実行しようとすると、class not found 例外が発生します。
誰も同じ問題を抱えていましたか?BlueCove のドキュメントから、Windows CE 上の MySaifu でテストされていることを知っています。この名前は、Windows Mobile および Pocket PC と同じ意味で (紛らわしく) 使用されることがあります。
どんな助けでも大歓迎です。
まとめ:
- MySaifu クラスパスに追加された後、Bluecove が機能しない
- クラスが見つからない例外
- iPAQ h5550
- Windows Mobile 2003 (ポケット PC)
java - ファイルI/Oを高速化するためにjvm内にtarをキャッシュしますか?
私は、リクエストに応じてアーティファクトを構築するために何千もの小さなファイルを使用するJavaWebアプリケーションに取り組んでいます。これらのファイルをディスク全体で実行して常に見つけるのではなく、これらのファイルをメモリにマップできれば、システムのパフォーマンスが向上すると思います。
Linuxでmmapについて聞いたことがありますが、その概念の基本的な理解は、ファイルがディスクから読み取られると、ファイルの内容がメモリのどこかにキャッシュされ、その後のアクセスが速くなるということです。私が考えていることはその考えに似ていますが、私のWebアプリが最小限の要求時間応答のために初期化しているので、mmap可能なファイルのセット全体をメモリに読み込みたいという点が異なります。
ここでの私の思考訓練の1つの側面は、ファイルがすべてタール化され、何らかの方法で仮想ファイルシステムとしてJVMにマウントされた場合、ファイルをjvmメモリにすばやく取り込むことができるということです。現状では、現在の実装がソースファイルのセットを調べて、ディスク上にあるものをすべて把握するのに数分かかる場合があります。これは、基本的に300,000を超えるファイルのファイル統計を実行しているためです。
tarファイルから情報を読み取ることができるapacheVFSプロジェクトを見つけましたが、「また、tar全体をメモリに読み込んで保持する」などの指定ができるかどうかは、ドキュメントからはわかりません。
ここでは、マルチスレッド環境について話しています。アーティファクトは、通常、300,000以上のソースファイルの完全なセットから約100の異なるファイルをつなぎ合わせて、1つの応答を作成します。したがって、仮想ファイルシステムソリューションが何であれ、スレッドセーフでパフォーマンスが高い必要があります。ここでは、ファイルの読み取りについてのみ説明しており、書き込みについては説明していません。
また、32ギガのRAMを搭載した64ビットOSを実行しており、300,000ファイルは約1.5〜2.5ギガのスペースを占有します。確かに、2.5ギガバイトのファイルを300Kの小さな数キロバイトサイズのファイルよりもはるかに高速にメモリに読み込むことができます。
入力ありがとうございます!
- ジェイソン
java - JVMクラッシュログファイルの生成を強制できますか?
JVMクラッシュからのログファイルには、ロードされた共有ライブラリや完全な環境など、デバッグに役立つあらゆる種類の情報が含まれています。これらのいずれかをプログラムでJVMに生成させることはできますか?それをクラッシュさせるコードを実行するか、他の方法で?または、別の方法で同じ情報にアクセスしますか?
java - SunJVMを理解する
SunJVMをよりよく理解したい初心者のための便利な本を探しています
java - Java バイトコード仕様
JVM バイトコード命令セットを学習するのに最適な場所はありますか。おそらく仕様といくつかのチュートリアル?
おもちゃの言語と JVM バイトコードを生成するコンパイラを設計したいのでお願いします。
あなたの知識とおそらくグーグルに感謝します。
java - Java 1.4.2 から Java 6 (両方とも Sun VM) に更新すると、パフォーマンスが低下する
Sun Java 1.4.2 VM で実行されていた古い Java ソースを Sun Java (JRE) 6 VM にアップグレードしました。多かれ少なかれ変更しなければならなかった唯一のことは、いくつかの抽象オブジェクト (ハッシュマップ、ベクターなど) の明示的なデータ型を追加することでした。コード自体は非常にメモリ集約的で、最大 1G のヒープ メモリを使用します (VM を起動するパラメータとして -Xmx1024m を使用)。
新しい Java VM でパフォーマンスが向上したという記事をよく読んだので、これがこのアップグレードを行った理由の 1 つです。
- 私の場合、パフォーマンスが低下した理由を誰か思いつくことができますか?
- 既存のコードを (スピードに関して) 最適化したい場合、Java 以外の第一人者に何を探すべきかアドバイスはありますか? ヒント、推奨ドキュメント、ツールはありますか?
ありがとう。
java - JavaでのStrictfpメソッドの使用は何ですか?
JavaでのStrictfpメソッドの使用は何ですか?