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

Javaは人気のある高水準プログラミング言語です。言語自体の使用または理解に問題がある場合は、このタグを使用してください。このタグが単独で使用されることはめったになく、[spring]、[spring-boot]、[jakarta-ee]、[android]、[javafx]、[gradle]、および[maven]と組み合わせて使用​​されることがほとんどです。

11
Javaエグゼキューター:タスクが完了したときに、ブロックせずに通知する方法
エクゼキューターサービスに送信する必要があるタスクでいっぱいのキューがあるとします。一度に1つずつ処理してほしい。私が考えることができる最も簡単な方法は: キューからタスクを取得する 実行者に提出する 返されたFutureで.getを呼び出し、結果が利用可能になるまでブロックします キューから別のタスクを実行... ただし、完全にブロックしないようにしています。タスクを一度に1つずつ処理する必要のある10,000のキューがある場合、それらのほとんどがブロックされたスレッドを保持しているため、スタック領域が不足します。 私が望むのは、タスクを送信し、タスクが完了したときに呼び出されるコールバックを提供することです。そのコールバック通知をフラグとして使用して、次のタスクを送信します。(functionaljavaとjetlangはこのような非ブロッキングアルゴリズムを使用しているようですが、コードを理解できません) JDKのjava.util.concurrentを使用してそれを行うにはどうすればよいですか。 (これらのタスクを提供するキュー自体がブロックする可能性がありますが、それは後で取り組む問題です)

8
JAVAでUUID文字列を生成する効率的な方法(ダッシュなしのUUID.randomUUID()。toString())
ユニークなバイトシーケンスを生成するための効率的なユーティリティが必要です。UUIDは良い候補ですが、そのUUID.randomUUID().toString()ようなものを生成します44e128a5-ac7a-4c9a-be4c-224b6bf81b20が、私はダッシュなしの文字列を好みます。 英数字のみ(ダッシュやその他の特殊記号なし)からランダムな文字列を生成する効率的な方法を探しています。
154 java  random  uuid 


15
Javaで非推奨のメソッドまたはクラスを使用するのは間違っていますか?
私はEclipseを使用してWebアプリケーションを開発しています。ちょうど今日、JARファイルを変更してstrutsのバージョンを更新しました。メソッドが廃止予定であるという警告がいくつかの場所で表示されますが、コードは正常に機能しています。 何か知りたい Javaで非推奨のメソッドまたはクラスを使用するのは間違っていますか? メソッドを変更せず、警告を表示してアプリケーションを実行すると、パフォーマンスの問題が発生しますか?
153 java  methods  deprecated 

15
System.nanoTime()は完全に役に立たないのですか?
ブログ投稿「JavaでのSystem.nanoTime()の注意」に記載されているように、x86システムでは、JavaのSystem.nanoTime()はCPU固有のカウンターを使用して時間値を返します。次に、通話時間を測定するために使用する次のケースを考えます。 long time1= System.nanoTime(); foo(); long time2 = System.nanoTime(); long timeSpent = time2-time1; マルチコアシステムでは、time1を測定した後、スレッドが別のプロセッサにスケジュールされ、そのカウンタが以前のCPUのカウンタよりも小さい場合があります。したがって、time1 より小さい time2の値を取得できます。したがって、timeSpentで負の値を取得します。 この場合を考えると、今のところSystem.nanotimeはほとんど役に立たないのではないでしょうか。 システム時刻を変更してもナノタイムには影響しないことを知っています。それは私が上で説明した問題ではありません。問題は、各CPUがオンになって以来、異なるカウンターを保持することです。このカウンタは、最初のCPUと比較して2番目のCPUで低くなることがあります。スレッドは、time1を取得した後、OSによって2番目のCPUにスケジュールされる可能性があるため、timeSpentの値は正しくなく、負の値になる場合もあります。
153 java  nanotime 

7
従来のassertXXX()-Methodsの代わりにHamcrest-MatcherとassertThat()を使用する理由
AssertクラスのJavaDocの例を見ると assertThat("Help! Integers don't work", 0, is(1)); // fails: // failure message: // Help! Integers don't work // expected: is <1> // got value: <0> assertThat("Zero is one", 0, is(not(1))) // passes 私は、大きなアドバンテージはないと思いassertEquals( 0, 1 )ます。 構成がさらに複雑になった場合のメッセージに適していますが、より多くの利点がわかりますか?読みやすさ?
153 java  testing  junit  junit4  hamcrest 

11
Java JDKソースコードはどこにありますか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?Stack Overflowのトピックとなるように質問を更新します。 3年前休業。 この質問を改善する Java APIのメソッドが何をするのかを見たいのですが。だから私はJDKのソースコードが欲しいです。Linuxを再インストールする前にsrc.zip、公式のソースコードがすべて入ったパッケージを用意しました。このファイルの場所をEclipseに通知するだけで、コードを確認できました。しかし、今はもうファイルがありません... だから問題はどこにありますか?
153 java 

10
HashSetとLinkedHashSet
それらの違いは何ですか?そんなこと知ってる LinkedHashSetは、すべての要素にわたって二重にリンクされたリストを維持する、HashSetの順序付きバージョンです。反復順序を気にする場合は、HashSetの代わりにこのクラスを使用してください。HashSetを反復処理する場合、順序は予測できませんが、LinkedHashSetを使用すると、要素が挿入された順序で要素を反復処理できます。 しかし、LinkedHashSetのソースコードには、HashSetの呼び出しコンストラクターしかありません。では、二重リンクリストと挿入順序はどこにあるのでしょうか。

7
Android Studioで作成者テンプレートを変更する
AndroidStudioでファイルを作成したときに表示される自動作成者を変更したい。 /** * Created by a556520 on 16/01/14. */ public class POI { 著者は「a556520」を使用しますが、それは私の名前であり、従業員数ではありません。それは可能ですか?設定で見つかりませんでした。


13
JavaサーブレットからJSONオブジェクトを返す方法
JavaサーブレットからJSONオブジェクトをどのように返しますか? 以前は、サーブレットでAJAXを実行すると、文字列が返されました。使用する必要があるJSONオブジェクトタイプはありますか、またはJSONオブジェクトのような文字列を返すだけですか? String objectToReturn = "{ key1: 'value1', key2: 'value2' }";
153 java  json  servlets 

4
Javaの現在のマシン名とログインしているユーザー?
現在ログインしているユーザーの名前(Windows / Unix)とマシンのホスト名を取得することは可能ですか? 私はそれがいくつかの静的環境クラスのプロパティだと思います。 ユーザー名にこれが見つかりました com.sun.security.auth.module.NTSystem NTSystem = new com.sun.security.auth.module.NTSystem(); System.out.println(NTSystem.getName()); そして、これはマシン名です: import java.net.InetAddress; ... String computerName; ... try { computerName = InetAddress.getLocalHost().getHostName(); } catch(Exception ex) { ... } 最初のものはWindows専用ですか? また、ホスト名が設定されていない場合、2つ目の方法は何をしますか?
153 java  environment 

9
BigIntegerの使用方法
私はこのコードを持っていますが、機能していません: BigInteger sum = BigInteger.valueOf(0); for(int i = 2; i < 5000; i++) { if (isPrim(i)) { sum.add(BigInteger.valueOf(i)); } } sum変数は常に0です。何が問題なのですか?
153 java  biginteger 

9
コンパイルが失敗しました:プログラムタイプは既に存在します:com.google.android.gms.internal.measurement.zzabn
プロジェクトをコンパイルすると、次のエラーメッセージが表示されます。 Program type already present: com.google.android.gms.internal.measurement.zzabn Message{kind=ERROR, text=Program type already present: com.google.android.gms.internal.measurement.zzabn, sources=[Unknown source file], tool name=Optional.of(D8)} または D8: Program type already present: com.google.android.gms.internal.measurement.zzabo Gradleログの次のスタックトレースを使用 at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:55) at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:104) at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:212)\\nat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121) at …

8
「Tの一般的な配列はvarargsパラメーターに対して作成されます」コンパイラー警告を解決することは可能ですか?
これは問題のコードの簡略化されたバージョンです。あるジェネリッククラスはジェネリック型パラメーターを持つ別のクラスを使用し、varargsパラメーターを持つメソッドにジェネリック型の1つを渡す必要があります。 class Assembler<X, Y> { void assemble(X container, Y... args) { ... } } class Component<T> { void useAssembler(T something) { Assembler<String, T> assembler = new Assembler<String, T>(); //generates warning: // Type safety : A generic array of T is // created for a varargs parameter assembler.assemble("hello", something); } } …
153 java  generics 

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