問題タブ [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.

0 投票する
5 に答える
125133 参照

java - Java アプリケーションのエントリ ポイント: main()、init()、または run()?

public void run() {}これまで、メソッドを使用して Java でコードを実行してきました。いつ/なぜmain()orinit()の代わりに使用したいのrun()ですか?

0 投票する
6 に答える
1424 参照

java - Javaバージョンの変更

私はサーバーを持っています-Java1.3で実行されるクライアントアプリケーション。私は段階的にJava1.6に変更したいのですが、残りのクライアントよりも最初の数クライアント、そして最後にサーバーを意味します...発生する可能性のあるいくつかの一般的な問題に私を導き、何をすべきか疑問に思いました。

0 投票する
4 に答える
1979 参照

java - 最近の JVM では、不可視の参照はまだ問題になっていますか?

私はJava Platform Performanceを読んでいました (悲しいことに、最初にこの質問をしたときからリンクがインターネットから消えたようです)、セクション A.3.3 が心配でした。

私は、スコープから外れた変数はもはや GC ルートとは見なされないだろうという仮定に取り組んでいましたが、この論文はそれと矛盾しているようです。

最近の JVM、特に Sun の 1.6.0_07 バージョンにはまだこの制限がありますか? もしそうなら、分析するコードがたくさんあります...

この論文は 1999 年のものであるため、質問します。特に GC の世界では、状況が変わることがあります。


論文が入手できなくなったので、懸念を言い換えたいと思います。この論文は、メソッド内で定義された変数は、コード ブロックが終了するまでではなく、メソッドが終了するまで GC ルートと見なされることを暗示していました。したがって、変数を null に設定して、参照されるオブジェクトをガベージ コレクションできるようにする必要がありました。

つまり、main() メソッド (または無限ループを含む同様のメソッド) の条件付きブロックで定義されたローカル変数は、変数がスコープから外れる直前にその変数を null にしない限り、1 回限りのメモリ リークを引き起こします。

選択した回答のコードは、問題をよく示しています。このドキュメントで参照されている JVM のバージョンでは、foo オブジェクトが try ブロックの最後でスコープ外にドロップされた場合、ガベージ コレクションを実行できません。代わりに、JVM は main() メソッドが終了するまで参照を開いたままにしますが、その参照を使用することは不可能です。

これは、変数がちょうどスコープから外れようとしている場合でも、変数参照を null にすることがガベージ コレクターの助けになるという考えの起源のようです。

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

java - CreateProcess() によって起動された JVM がクラスパス ライブラリを失う

CreateProcess (または _spawnv()) を使用して、Windows VC++ 6 プログラムから次のコマンド ライン (プロセス) を起動します。

  • java -cp c:\dir\updates.jar;c:\dir\main.jar メイン

そして、updates.jar 内のクラスの更新 (main.jar 内の一部をオーバーライドする) が読み取られないか、見つからない。これは、updates.jar ライブラリが見つからないか読み取れないかのようです。

ショートカットから、または適切なコマンドラインから同じ行を起動すると、すべてが検出され、適切に実行されます。

コマンド ラインから JVM を起動し、それを実行したままにし、実行可能なスタブ (上記) を起動すると、すべて正常に動作します。(これにより、問題がファイルの権利の問題であるように見えます)。

どんな洞察も大歓迎です!

――エドワード

0 投票する
13 に答える
139167 参照

java - 構成プログラムを使用せずにTomcat5.5JVMメモリ設定を調整する方法

大規模なインストールの一部としてTomcatのメモリ設定を構成する必要があるため、事後に構成アプリを使用してTomcatを手動で構成することは問題外です。JVMメモリ設定をJAVA_OPTS環境変数にスローするだけでよいと思いましたが、jconsoleでテストして、機能するかどうかを確認しています...機能しません。

以下のコメントによると、CATALINA_OPTSも機能しません。これまでのところ、それを機能させる唯一の方法は、Tomcat構成GUIを使用することであり、それは私の問題の許容できる解決策ではありません。

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

java - 一般的な質問: Java にはヒープとローカル スタックがあります。ヒープから任意のオブジェクトにアクセスできますか?

値渡しと、Java がオブジェクトを割り当てる方法と、オブジェクトをスタックに置くために Java が行うこととの違いを実際に調べていました。

ヒープに割り当てられたオブジェクトにアクセスする方法はありますか? 適切なメソッドがヒープから適切なデータにアクセスできることを保証するために、Java が強制するメカニズムは何ですか?

あなたが狡猾で、実行時に Java バイトコードを操作することさえできれば、想定されていないときにヒープからデータを操作できる可能性がありますか?

0 投票する
7 に答える
6297 参照

java - Java バイトコードの生成に使用できるライブラリ/プログラムはどれですか?

BCELについては知っていますが、このプロジェクトは 2 年間リリースされていなかったため、死んでいるようです。そして、Java の世界は続きます。たとえば、JDK 1.6 には新しい class-file-format があります。

では、JVM のバイトコードを作成するためにどのライブラリを使用できるでしょうか。ライブラリがなくても、バイトコード アセンブラなど、生成されたコードを詳細に操作できれば、プログラムでも問題ありません。

どのソフトウェアをお勧めできますか? 使い方も簡単?良い例/チュートリアルはありますか?

編集:すべての質問に対して:はい、javacは問題ありません。ただし、実行時にいくつかのクラスを生成する場合は、バイトコードへの直接パスの方がクリーンです。

0 投票する
4 に答える
644 参照

java - 混在する Java バージョンの世界でジェネリックを使用する方法は?

私はジェネリックが大好きで、できる限りジェネリックを使用しています。時々、古いJVM(5.0より前)で実行する必要がある別のプロジェクトでクラスの1つを使用する必要があり、JavaME(ジェネリックも許可されていない)またはMicrosoft J#(非常に貧弱です)で実行する必要がありますジェネリックのサポート)。

現時点では、すべてのジェネリックを手動で削除しています。つまり、多くのキャストも挿入しています。

ジェネリックはコンパイル時のみであると言われ、ジェネリック コードのすべての部分が非ジェネリック コードに自動的に変換される可能性があるため、これを実行できるツールがあるかどうか疑問に思います。

そのようなツールがない場合、他にどのように問題を解決できますか? ジェネリックの使用を完全にやめるべきですか?

バイトコードの互換性に関する回答は既にあります。何らかの理由でソース コードの互換性が必要な場合はどうすればよいですか?

0 投票する
4 に答える
3098 参照

python - Jython での Django の開発に問題はありますか?

背景

私は自分の時間に友人とかなりのサイズの Web アプリケーションを構築しており、Python で Django フレームワークを使用することにしました。Django は、私たちが必要とする多くの機能を提供してくれるので、別のフレームワークを提案しないでください。

私が悩んでいる唯一の決定は、アプリケーションの開発に Python と Jython のどちらを使用するかということです。今では Java にかなり精通しており、JDK 内のライブラリの恩恵を受ける可能性があります。私は最小限の Python を知っていますが、このプロジェクトを新しい言語を学ぶ機会として使用しているため、作業の大部分は Python で記述されます。

Jythonの魅力はなんといってもJVMです。python/django 対応の Web ホストの数は非常に少ないですが、多種多様なホストに jython/django アプリケーションをドロップできると想定しています。これは大規模な設計上の決定ではありませんが、それでも決定する必要があると思います。jvmアクセシビリティだけでも、Pythonよりもjythonを本当に好みます。

質問

Jython には、通常の python と比較して多くの制限がありますか? jythonでdjangoを実行すると問題が発生しますか? Jython チームは、Python と一緒にアップデートをリリースするのにどれくらいの速さを持っていますか? Django は Jython で宣伝されているように (最小限の事前設定で) 動作しますか?

決断

有益なコメントをありがとう。私がやろうとしているのは、JVM サポートのために Jython で開発することですが、Python コード/ライブラリのみを使用しようとしています。移植性は大きな問題ではないので、JDK のライブラリが必要な場合 (Python ではすぐに利用できない)、それを使用します。Django が完全にサポートされている限り、私は満足しています。

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

java - Java を使用しない J2ME 開発?

私は、J2ME の世界に初めて足を踏み入れています。開発には関数型言語を使用したいと思います。

Scala は以前は CLDC をサポートしていましたが、現在は維持されていません。Bigloo は姿を消したようです。

J2ME アプリは小さくなければならないため (少なくとも、私の場合は小さくなければなりません)、インタープリター (Jython など) は使用できません。

別の JVM 言語を使用して J2ME アプリケーションを構築できた人を知りたいです。