問題タブ [java]

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 投票する
12 に答える
41840 参照

java - Java プロジェクトでどのコード分析ツールを使用していますか?

Java プロジェクトでどのコード分析ツールを使用していますか?

いろんなことに興味があります

  • 静的コード分析ツール (FindBugs、PMD など)
  • コード カバレッジ ツール (Cobertura、Emma、その他)
  • その他の計測ベースのツール
  • 私が何かを逃した場合は、他の何か

該当する場合は、使用しているビルド ツールと、これらのツールが IDE とビルド ツールの両方とどの程度うまく統合されているかについても説明してください。

ツールが特定の方法 (IDE プラグイン、またはビルド ツール プラグインなど) でしか利用できない場合、その情報も注目に値します。

0 投票する
9 に答える
58226 参照

java - Java を使用して、アクティブに書き込み中のファイルから読み取るにはどうすればよいですか?

ファイルに情報を書き込むアプリケーションがあります。この情報は、アプリケーションの成功/失敗/正確性を判断するために実行後に使用されます。これらの成功/失敗/正確性のチェックをリアルタイムで実行できるように、ファイルが書き込まれているときにファイルを読み取れるようにしたいと考えています。

これは可能だと思いますが、Java を使用する際の落とし穴は何ですか? 読み取りが書き込みに追いついた場合、ファイルが閉じられるまでさらに書き込みを待つだけですか、それともこの時点で読み取りが例外をスローしますか? 後者の場合、私は何をしますか?

私の直感は現在、私を BufferedStreams に向かわせています。これは行く方法ですか?

0 投票する
8 に答える
6900 参照

java - Java オートボクシングが、オートボックス化された型のメソッドのメソッド呼び出しに拡張されないのはなぜですか?

プリミティブを文字列に変換したいのですが、試しました:

これはエラーで失敗します:

ここで、プリミティブは参照型ではない (つまり、オブジェクトではない) ため、メソッドを持つことができないことがわかりました。ただし、Java 5 では、オートボクシングとアンボクシングが導入されました (C# のように... C# では好きではありませんでしたが、それは重要ではありません)。したがって、オートボクシングでは、上記が myInt を Integer に変換してから toString() を呼び出すことを期待します。

さらに、私の記憶が間違っていない限り、C# ではそのような呼び出しが許可されていると思います。これは、Java の autoboxing/unboxing 仕様の残念な欠点にすぎないのでしょうか?それとも正当な理由があるのでしょうか?

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

java - 複数の依存するネイティブ ライブラリを Java Webstart にするにはどうすればよいですか?

例: 2 つの共有オブジェクトがあります (.dll にも同じことが当てはまります)。最初の共有オブジェクトはサードパーティ ライブラリからのもので、libA.so と呼びます。この一部を JNI でラップし、独自のライブラリ libB.so を作成しました。現在、libB は libA に依存しています。

Webstarting の場合、両方のライブラリが webstart 作業領域に配置されます。私の Java コードは libB をロードしようとします。この時点で、システム ローダーは、システム ライブラリ パスにない libA をロードしようとします (java.library.path は役に立ちません)。最終的な結果として、libB には満たされていないリンクがあり、使用できません。

libB の前に libA をロードしようとしましたが、それでもうまくいきません。OSが私のためにそのロードをしたいようです。静的にコンパイルする以外に、これを機能させる方法はありますか?

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

java - これは本当に拡大対オートボクシングですか?

これは、Java仕様の欠点に関連して、別の質問への回答で見ました。

さらに欠点があり、これは微妙なトピックです。これをチェックしてください:

ここでは、コンパイラが自動ボクシングよりも拡張を選択するため、「long」が出力されます(自分でチェックしていません)。自動ボクシングを使用するときは注意するか、まったく使用しないでください。

これは実際にはオートボクシングではなく拡大の例であると確信していますか、それともまったく別のものですか?

i私の最初のスキャンでは、オブジェクトではなくプリミティブとして宣言されていることに基づいて、出力が「長い」というステートメントに同意します。ただし、変更した場合

出力は「整数」を出力します

ここで実際に何が起こっているのですか?私はJava用のコンパイラ/バイトコードインタプリタについて何も知りません...

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

java - Javaサーブレットを使用した投稿変数へのアクセス

PHPのJavaに相当するものは何$_POSTですか?1時間ウェブを検索した後、私はまだどこにも近づいていません。

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

java - super()呼び出しの周りにtryブロックを使用できないのはなぜですか?

したがって、Javaでは、コンストラクターの最初の行はsuperの呼び出しである必要があります...暗黙的にsuper()を呼び出す場合でも、明示的に別のコンストラクターを呼び出す場合でも同じです。私が知りたいのは、なぜその周りにトライブロックを配置できないのですか?

私の特定のケースは、テスト用のモッククラスがある場合です。デフォルトのコンストラクターはありませんが、テストを読みやすくするためのコンストラクターが必要です。また、コンストラクターからスローされた例外をRuntimeExceptionにラップしたいと思います。

だから、私がやりたいのは事実上これです:

しかし、Javaは、superが最初のステートメントではないと不満を漏らしています。

私の回避策:

これは最善の回避策ですか?なぜJavaは私に前者をさせないのですか?


「なぜ」についての私の最も良い推測は、Javaが、潜在的に矛盾した状態の構築されたオブジェクトを私に持たせたくないということです...しかし、モックを行う際には、私はそれを気にしません。私は上記を行うことができるはずです...または少なくとも私は上記が私の場合には安全であることを知っています...またはとにかくそうあるべきであるように見えます。

テストされたクラスから使用するメソッドをオーバーライドしているので、初期化されていない変数を使用しているリスクはありません。

0 投票する
8 に答える
4161 参照

java - J# を使用するメリットはありますか?

J# を提案するコメントを見たところ、疑問に思いました... Java よりも J# を実際に有益に使用することはありますか? ですから、あなたが J# の使用を検討する唯一の理由は、会社が Java の時流に乗って、.NET の時流に乗るべきだと経営陣が宣言したからだと思います。J# を使用すると、Java を選択することの最大のメリットを効果的に失うことになります...豊富なクロスプラットフォーム サポート。確かに Mono はありますが、豊富なサポートやフル機能ではありませんよね? フォームが完全には (おそらくまったく) サポートされていないと聞いたのを覚えています。

ここで .NET をバッシュしようとしているわけではありません。Microsoft の道を行くなら、なぜ C# を使わないのかと言っているだけです。Java ルートを使用する場合、なぜ J# が登場するのでしょうか?

ここで実際のケースを見つけたいと思っています。特に、実際のプロジェクトで実際に J# を使用したことがある場合は、その理由とその理由について回答してください。

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

java - JNLP を使用したデプロイ用に Java RCP のビルドを自動化する

自動化された Eclipse PDE プロセスについて説明しているソースを多数見つけました。これらの情報源は、何が起こっているのかをうまく説明していないと思います。

フィーチャー エクスポートを使用して、半手動のプロセスで展開可能なパッケージを作成できます。

自動化されたプロセスには、org.eclipse.pde.build スクリプトの動作に関する知識が必要です。ビルドを作成しましたが、JNLP 用ではありません。

質問:

  1. JNLP を介して RCP をデプロイしたことのある人はいますか?
  2. ビルドを自動化できましたか?
0 投票する
2 に答える
4399 参照

java - win64 での Eclipse

Windows XP または Vista 64 ビットで Eclipse の最新の 64 ビット Ganymede リリースを正常に使用している人はいますか?

現在、私は 32 ビット JDK で通常の Eclipse 3.4 ディストリビューションを実行し、64 ビット JDK でアプリを起動してコンパイルしています。私たちのこれまでの経験では、64 ビット Eclipse ディストリビューションは私たちにとって不安定でした。

JDK 1.6.0_05 を使用しています。