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

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


17
不変とはどういう意味ですか?
これはこれまでに尋ねられた最も馬鹿げた質問かもしれませんが、Javaの初心者にはかなり混乱していると思います。 誰かが不変の意味を明確にできますか? なぜString不変ですか? 不変オブジェクトの利点/欠点は何ですか? StringBuilderString などの可変オブジェクトを優先する必要があるのはなぜですか? (Javaでの)良い例は本当にありがたいです。

2
Mockitoがvoidメソッドをテストすると例外がスローされる
void戻り値の型を持つメソッドがあります。また、いくつかの例外がスローされる可能性があるため、スローされている例外をテストしたいと思います。すべての試行が同じ理由で失敗しました: タイプStubberのメソッドwhen(T)は引数に適用できません(void) 特定の例外をスローするメソッドを取得する方法はありますか? doThrow(new Exception()).when(mockedObject.methodReturningVoid(...));

15
Java文字列は本当に不変ですか?
StringJavaでは不変であることは誰もが知っていますが、次のコードを確認してください。 String s1 = "Hello World"; String s2 = "Hello World"; String s3 = s1.substring(6); System.out.println(s1); // Hello World System.out.println(s2); // Hello World System.out.println(s3); // World Field field = String.class.getDeclaredField("value"); field.setAccessible(true); char[] value = (char[])field.get(s1); value[6] = 'J'; value[7] = 'a'; value[8] = 'v'; value[9] = 'a'; value[10] = '!'; …


8
IntelliJ-Javaプロジェクト/モジュールをMavenプロジェクト/モジュールに変換する
Bitbucketにプロジェクトがあります。ソースのみがコミットされます。プロジェクトを新しいマシンに取得するには、IntelliJ内から[バージョン管理]> [バージョン管理からチェックアウト]を使用しました。 次に、このソースから新しいプロジェクトを作成するかどうかをたずねられ、「はい」と応答します。ここまでは順調ですね。それは私のために素敵な小さなJavaプロジェクトを作成します。 ただし、このプロジェクトをIntelliJに導入する際の私の目標は、このプロジェクトをMavenプロジェクトに変えることでした。これを可能にするオプションはどこにもありません! IntelliJに名前とアーティファクトIDとリポジトリを含む基本的な空のpom.xmlを生成させる方法はありますか?または、そもそもプロジェクトをMavenプロジェクトとしてインポートする方法はありますか?(既存のソースからプロジェクトを作成しようとすると、Javaプロジェクトのオプションしか表示されません。)

14
Java 8並列ストリームのカスタムスレッドプール
Java 8 並列ストリームのカスタムスレッドプールを指定することは可能ですか?どこにも見つかりません。 サーバーアプリケーションがあり、並列ストリームを使用したいとします。しかし、アプリケーションは大きく、マルチスレッドなので、それを区分けしたいと思います。別のモジュールからのapplicationblockタスクの1つのモジュールで実行速度の遅いタスクが必要ではありません。 異なるモジュールに異なるスレッドプールを使用できない場合、それは実際の状況のほとんどで並列ストリームを安全に使用できないことを意味します。 次の例を試してください。別のスレッドで実行されるCPU集中タスクがいくつかあります。タスクは並列ストリームを活用します。最初のタスクは壊れているため、各ステップには1秒かかります(スレッドスリープによってシミュレートされます)。問題は、他のスレッドがスタックして、壊れたタスクが完了するのを待つことです。これは不自然な例ですが、サーブレットアプリと誰かが共有フォーク結合プールに長時間実行タスクを送信するとします。 public class ParallelTest { public static void main(String[] args) throws InterruptedException { ExecutorService es = Executors.newCachedThreadPool(); es.execute(() -> runTask(1000)); //incorrect task es.execute(() -> runTask(0)); es.execute(() -> runTask(0)); es.execute(() -> runTask(0)); es.execute(() -> runTask(0)); es.execute(() -> runTask(0)); es.shutdown(); es.awaitTermination(60, TimeUnit.SECONDS); } private static void runTask(int …


11
春の豆は一体何ですか?
理解できるSpring Beanの高レベルの定義はまだ見つけていません。それらはGrailsのドキュメントや本で頻繁に参照されていますが、それらが何であるかを理解することは有益だと思います。では、春の豆とは何でしょうか?それらはどのように使用できますか?彼らは依存性注入と関係がありますか?
397 java  spring  grails 

13
「シンボルが見つかりません」または「シンボルを解決できません」というエラーはどういう意味ですか?
「シンボルが見つかりません」および「シンボルを解決できません」のエラーについて、以下について説明してください。 彼らはどういう意味ですか? 何が原因でしょうか? プログラマはそれらをどのように修正しますか? この質問は、Javaでのこれらの一般的なコンパイルエラーに関する包括的なQ&Aを作成するためのものです。

11
「java -server」と「java -client」の本当の違いは?
「java -server」と「java -client」の間に実際の実用的な違いはありますか? Sunのサイトで見つけられるのは漠然 「-serverの起動は遅くなりますが、実行は速くなります」。 実際の違いは何ですか?(現在、JDK 1.6.0_07を使用しています。)
394 java  jvm  jvm-hotspot 


21
HTTPS経由のHttpClientを使用してすべての証明書を信頼する
最近、HttpClientHTTPS に関する質問を投稿しました(ここにあります)。私は少し前進しましたが、新しい問題に出くわしました。私の最後の問題と同様に、私のために機能する例をどこにも見つけることができないようです。基本的に、私はクライアントに証明書を受け入れてもらいたいのですが(私は1つのサーバーしか指していないため)、javax.net.ssl.SSLException: Not trusted server certificate exception. これが私が持っているものです: public void connect() throws A_WHOLE_BUNCH_OF_EXCEPTIONS { HttpPost post = new HttpPost(new URI(PROD_URL)); post.setEntity(new StringEntity(BODY)); KeyStore trusted = KeyStore.getInstance("BKS"); trusted.load(null, "".toCharArray()); SSLSocketFactory sslf = new SSLSocketFactory(trusted); sslf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); SchemeRegistry schemeRegistry = new SchemeRegistry(); schemeRegistry.register(new Scheme ("https", sslf, 443)); SingleClientConnManager cm = new SingleClientConnManager(post.getParams(), schemeRegistry); …


18
引数でJava 8のオプションを使用しない理由
多くのWebサイトで読みましたOptionalは戻り値の型としてのみ使用し、メソッドの引数では使用しないでください。論理的な理由を見つけるのに苦労しています。たとえば、2つのオプションパラメータを持つロジックがあります。したがって、次のようにメソッドシグネチャを記述することは理にかなっていると思います(ソリューション1): public int calculateSomething(Optional<String> p1, Optional<BigDecimal> p2 { // my logic } 多くのWebページでは、オプションをメソッドの引数として使用しないでください。これを念頭に置いて、次のメソッドシグネチャを使用して明確なJavadocコメントを追加し、引数がnullになる可能性があることを指定します。将来のメンテナがJavadocを読み、引数を使用する前に常にnullチェックを実行することを期待します(解決策2) : public int calculateSomething(String p1, BigDecimal p2) { // my logic } または、より良いインターフェイスを提供し、p1とp2がオプションであることをより明確にするために、メソッドを4つのパブリックメソッドに置き換えることもできます(ソリューション3)。 public int calculateSomething() { calculateSomething(null, null); } public int calculateSomething(String p1) { calculateSomething(p1, null); } public int calculateSomething(BigDecimal p2) { calculateSomething(null, p2); } public …
392 java  java-8  optional 

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