タグ付けされた質問 「jvm」

Java仮想マシン(JVM)を使用すると、一連のコンピューターソフトウェアプログラムとデータ構造で、仮想マシンモデルを使用して他のコンピュータープログラムとスクリプトを実行できます。このタグは、JVMが提供するツールや、特定のシナリオでどのように機能するかについての質問に使用します。

8
JUnitユニットテストのJVMパラメータを設定する方法
実行するために大量のヒープスペースを必要とするJUnitユニットテストがあります。つまり、1Gです。(十分なヒープスペースでのみ実行され、Win 7 64ビットマシンで内部的に実行されるWebstartアプリのメモリ集約的な機能をテストします。したがって、テストの再設計は実際的な提案ではありません。) Intellij IDEAで開発しているので、テストクラスのJVMパラメータ(例:-Xmx1024M)を設定できることはわかっています。ただし、これはテストクラス全体を実行する場合のみです。個別のテストを実行する場合は、そのテストメソッドの実行構成を再作成する必要があります。 また、これらはIDEとボックス固有です。そのため、ボックスを切り替える(複数のマシンで開発している)場合、または同僚の1人がテストを実行しようとした場合、これらの設定は転送されません。(また、EclipseやNetBeansなどの他のIDEが私の同僚によって使用されています。)FWIW、私たちはソースコード管理に水銀を使用しています。 ビルドサイクルではMavenを使用しているので、そのためのJVMパラメーターを指定する方法を知っています。 だから:-テストクラス全体と個々のテストメソッドに適用されるJVMパラメーターを指定する方法を探しています。そして-(リポジトリからコードを取得した)任意のマシンのIDE間でそれらの仕様を共有したいと思います。

5
デバッグ引数でJVMを起動せずにJavaアプリケーションをデバッグする
通常、実行中のjvmにデバッガーを接続するには、次のような引数でjvmを起動する必要があります。 > java -Xdebug -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n デバッグモードで開始されなかったプロセスをデバッグする場合、どうすればよいですか? この状況は、実稼働システム(つまり、デバッグ引数なしで開始された)が「ランダム」(大まかにこの用語を使用している)バグを示したときに発生します。したがって、適切な引数でjvmを再起動することはできません。バグを再現する方法を誰も知らないためです。この状況でJVMに接続することは不可能ですか? 明確にするために、jdbなどのツールを使用して、すでに実行中のJVMに接続することは、それらがデバッグモードで開始されていない限り不可能です。 JVMのmanページから jdbを使用するもう1つの方法は、すでに実行中のJava VMに接続することです。jdbでデバッグするVMは、次のオプションで起動する必要があります。

2
Java sslデバッグログの制限
JVMフラグの使用 -Djavax.net.debug=ssl サーバー上のすべてのSSLイベントの詳細である膨大な量のログを生成しています。とにかくエラーをログに記録するだけですか?あるいは、これらのフラグのより良いサブセットがあり、よりきちんとした出力を生成します all turn on all debugging ssl turn on ssl debugging The following can be used with ssl: record enable per-record tracing handshake print each handshake message keygen print key generation data session print session activity defaultctx print default SSL initialization sslctx print SSLContext tracing sessioncache print session …
94 java  logging  ssl  jvm 


1
GCオーバーヘッド制限を超えました
JVMが「java.lang.OutOfMemoryError:GCオーバーヘッド制限を超えました」をスローするために使用するサンプリング時間はどれくらいですか?パラメータGCTimeLimitとGCHeapFreeLimitで98%と2%を制御できることは知っていますが、サンプリング時間はどうですか?

4
Java:<init>と<clinit>の違いは何ですか?
次のテキストを理解できません...それ&lt;clinit&gt;は空のコンストラクターのためのものですか?2つの異なるバージョンを持つことが重要なのはなぜですか? https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html 2.9. Special Methods Java仮想マシンのレベルでは、すべてのコンストラクター(2.12)は、特別な名前を持つインスタンス初期化メソッドとして表示されます&lt;init&gt;。この名前はコンパイラによって提供されます。名前&lt;init&gt;は有効な識別子ではないため、Javaプログラミング言語で作成されたプログラムで直接使用することはできません。インスタンス初期化メソッドは、invokespecial命令によってJava仮想マシン内でのみ呼び出すことができ、初期化されていないクラスインスタンスでのみ呼び出すことができます。インスタンス初期化メソッドは、それが派生したコンストラクターのアクセス許可(§2.7.4)を引き継ぎます。 クラスまたはインターフェースは最大で1つのクラスまたはインターフェース初期化メソッドを持ち、そのメソッドを呼び出すことによって初期化されます(§2.17.4)。クラスまたはインターフェースの初期化メソッドは静的であり、引数を取りません。それは特別な名前を持ってい&lt;clinit&gt;ます。この名前はコンパイラによって提供されます。名前&lt;clinit&gt;は有効な識別子ではないため、Javaプログラミング言語で作成されたプログラムで直接使用することはできません。クラスおよびインターフェースの初期化メソッドは、Java仮想マシンによって暗黙的に呼び出されます。Java仮想マシンのinw2structionから直接呼び出されることはありませんが、クラス初期化プロセスの一部として間接的にのみ呼び出されます。
93 java  jvm 

20
IntelliJでのKotlinの未解決の参照
Kotlinを学習するためのチュートリアルから始めましIntelliJた。例を実行してみたとき、 fun main(args: Array&lt;String&gt;) { println("lol") } このメッセージで実行が中断されますError:(5, 5) Kotlin: Unresolved reference: println IntelliJを使用するのはこれが初めてJavaです私もプロジェクトに取り組んだことがありません何かが足りないのですか? 編集:私はすでに他の質問を見ました。答えは私の状況には有効ではありません。

8
JVMプログラミング言語を作成する
ループ、関数内の関数宣言、再帰呼び出しなどをサポートする動的型付きプログラミング言語用に、Cでコンパイラー(lex&bisonを使用)を作成しました。コンパイラーによって作成された中間コードを実行する仮想マシンも作成しました。 私は自分の中間コードにコンパイルする代わりに、Javaバイトコードにコンパイルすることを考えていました。 JVM言語の作成についての質問がすでに尋ねられているのを見ましたが、その答えはあまり有益ではありません。 だからここに私の質問があります: JVMの言語を作成するには、JVM仕様書を読む必要があります。他にどのような本を提案できますか(もちろんDragon Bookを除く)?私は主に、コンパイラー全般ではなく、JVM言語の作成方法に関する本やチュートリアルに関心があります。 jclasslib、bcel、gnuバイトコードなどの.classファイルの読み取り、書き込み、変更を行うJavaライブラリはたくさんあります。どれを提案しますか?また、同じ働きをするCライブラリを知っていますか? Clojure、Jython、JRubyなど、JVMをターゲットとする別の言語を検討することを考えていました。しかし、これらの言語はすべて非常に高レベルで複雑です(それらのコンパイラを作成するため)。私は、JVMを対象とし、そのコンパイラーがオープンソースである、より単純な(不明であっても未使用であっても構わない)プログラミング言語を探していました。何か案は?

9
JVM用のC#の実装
JVMにC#を実装しようとしている人はいますか?Java開発者として、私はC#を羨望の念を抱いて見つめてきましたが、JVMの移植性と成熟度を放棄するつもりはありません。JVMのためのさまざまなツールは言うまでもありません。 JVMとCLRの間にいくつかの重要な違いがあることは知っていますが、ショートッパーであるものはありますか?
91 c#  java  clr  jvm 

7
Android Gradleはオブジェクトヒープ用に十分なスペースを予約できませんでした
Android Studio 1.1.0をインストールしました。新しいAndroidアプリケーションの起動やインポートなど、まだ何もしていません。どういうわけかそれは何かを構築しようとしていて、同期エラーをスローします。 エラー:デーモンプロセスを開始できません。この問題は、デーモンの誤った構成が原因である可能性があります。たとえば、認識されないjvmオプションが使用されています。http://gradle.org/docs/2.2.1/userguide/gradle_daemon.htmlにあるデーモンのユーザーガイドの章を参照してください。 詳細については、次のプロセス出力をお読みください。 VMの初期化中にエラーが発生しましたオブジェクトヒープ用の十分なスペースを予約できませんでしたJava仮想マシンを作成できませんでした。 確認済みgradle.org/.../gradle_daemon.htmlですが、問題の解決に役立つ情報が見つかりませんでした。 8 GBの物理メモリと他のプログラムを実行していないので、メモリの問題ではありません。
91 android  gradle  jvm  heap 

8
Javaアプリケーションごとに1つのJVMがありますか?
実行中のすべてのJavaアプリケーションで同じJVMが使用されていますか、それとも「Javaアプリケーションごとに1つのJVM」が適用されますか?(たとえば、アプリケーションはIntelliJ IDEA、サーバー、NetBeansなどです) さらに、割り当てられたJVMと各Javaアプリケーションによって使用されるプロセスの間には何らかの関係がありますか?
91 java  process  jvm 

18
JasperReportsを使用するJVMではフォントを使用できません
DynamicJasperを使用してレポートを生成しようとしていますが、次のエラーが発生します。 net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Arial' is not available to the JVM. msttcorefontsがインストールされていますが、JVMはそこからフォントを使用していないと思います。 Ubuntu10.04を使用しています。 どうすればこれを修正できますか?

30
Android Studio-JVMインストールが見つかりません
起動しようとして問題が発生しました Android Studio インストール後に起動しようとすると、次のエラーが発生します。 No JVM Installation found. Please install a 64 bit JDK. 私の現在のシステム仕様: オペレーティングシステム:Windows 8.0 64 bit version インストールされているJDK:JDK 1.8.0 私が試したこと: 私はエラーで報告されたものを試しました、そしてほとんどの解決策JDK_HOMEで環境変数の変数を私のJDKパス(64ビットバージョン)に設定しましたC:\Program Files\Java\jdk1.8.0_05 *I also have tried rebooting system, just in case to test if the environment variable is not working without a restart 私はこれらのソリューションを見て試してみましたが、どれも機能しないため、これらのいずれかの複製としてマークしないでください: Windows 7でのAndroid Studioのインストールが失敗し、JDKが見つかり …

12
実行中のJVMのパラメーターの取得
実行中のJVMのパラメーターを取得する方法はありますか?JVMのpidを入力として受け取り、その開始パラメーターを返すjstatのようなコマンドラインツールはありますか?特に、JVMの起動時に指定された-Xmx値と-Xms値に関心があります。ありがとうございました。 編集:私の制約を明確にするため。確認したいJVMは本番サーバーで実行されています。そのため、中断を最小限に抑えることをお勧めします。jstatを使用してJVMを監視できるため、パラメーターにアクセスするための同様の簡単なソリューションがあることを願っています。 編集:jvisualvmを使用してパラメーターを取得しようとしました。ただし、リモートjvmに接続するには、jstatdを実行し、JVMのセキュリティ設定を変更する必要があります。これは、運用サーバーでは非常に混乱を招き、リスクが高いことがわかりました。
90 java  jvm 

4
ループ反転技術とは何ですか?
Javaのジャストインタイムコンパイラー(JIT)最適化手法について説明しているドキュメントを調べていました。それらの1つは「ループ反転」でした。そして文書は言う: 通常のwhileループをループに置き換えdo-whileます。そして、 do-whileループはif節内で設定されます。この置換により、ジャンプが2つ少なくなります。 ループ反転はどのように機能し、コードパスを最適化しますか? 注意: Javaコードの例と、JITがそれをネイティブコードに最適化する方法と、最新のプロセッサで最適化される理由を誰かが説明できればすばらしいと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.