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

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

7
軽量JavaオブジェクトキャッシュAPI [終了]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 質問 JavaインメモリオブジェクトキャッシングAPIを探しています。何かお勧めですか?過去にどのようなソリューションを使用しましたか? 電流 現在、私はマップを使用しています: Map cache = new HashMap<String, Object>(); cache.put("key", value); 必要条件 キャッシュを拡張して、次のような基本的な機能を含める必要があります。 最大サイズ 有効期間 ただし、次のような高度な機能は必要ありません。 複数のプロセスからのアクセス(キャッシュサーバー) 永続性(ディスクへ) 提案 インメモリキャッシング: Guava CacheBuilder-活発な開発。このプレゼンテーションを参照してください。 LRUMap -APIによる構成。TTLなし。キャッシング専用ではありません。 whirlycache -XML設定。メーリングリスト。最終更新2006年。 cache4j -XML設定。ロシア語のドキュメント。最終更新2006年。 エンタープライズキャッシング: JCS-プロパティ構成。広範なドキュメント。 Ehcache -XML設定。広範なドキュメント。グーグルのヒットによると断然最も人気があります。
99 java  caching 

9
キューに入れる前にThreadPoolExecutorでスレッドを最大に増やす方法は?
私はしばらくの間、多くの人が使用するスレッドプールThreadPoolExecutorをサポートするデフォルトの動作にイライラしてきましたExecutorService。Javadocsから引用するには: corePoolSizeを超えてmaximumPoolSize未満のスレッドが実行されている場合、キューがいっぱいの場合にのみ、新しいスレッドが作成されます。 これは、次のコードでスレッドプールを定義した場合、が無制限であるため、2番目のスレッドを開始しないことを意味しますLinkedBlockingQueue。 ExecutorService threadPool = new ThreadPoolExecutor(1 /*core*/, 50 /*max*/, 60 /*timeout*/, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(/* unlimited queue */)); 制限付きキューがあり、キューがいっぱいの場合のみ、コア番号を超えるスレッドが開始されます。多くのジュニアJavaマルチスレッドプログラマーは、このの動作に気付いていませんThreadPoolExecutor。 これで、これが最適ではない特定のユースケースがあります。私は自分のTPEクラスを書かずに、それを回避する方法を探しています。 私の要件は、おそらく信頼できないサードパーティにコールバックするWebサービスに対するものです。 コールバックをWebリクエストと同期させたくないので、スレッドプールを使用します。 私は通常、1分間に数回これらを取得するのでnewFixedThreadPool(...)、ほとんどが休止状態である多数のスレッドを使用したくありません。 頻繁にこのトラフィックのバーストが発生し、スレッド数をいくつかの最大値(50としましょう)にスケールアップしたいと思います。 すべてのコールバックを最善の方法で試行する必要があるので、50を超える追加のコールバックをキューに入れますnewCachedThreadPool()。 スレッドを開始する前にThreadPoolExecutorキューを制限していっぱいにする必要があるこの制限を回避するにはどうすればよいですか?タスクをキューに入れる前に、より多くのスレッドを開始するにはどうすればよいですか? 編集: @FlavioはThreadPoolExecutor.allowCoreThreadTimeOut(true)、コアスレッドをタイムアウトさせて終了させるためにを使用することについて良い点を示しています。私はそれを考えましたが、それでもコアスレッド機能が欲しかったです。可能であれば、プール内のスレッド数がコアサイズを下回らないようにしたいと思いました。


6
IntelliJの明確なコードカバレッジ情報
カバレッジモードで実行すると、ランタイムに実行された行の背景を緑色にペイントするようにIntelliJを構成しました。 時々、プロジェクト内のすべてのファイルを元の典型的な背景色に戻したい、つまり、すべてのカバレッジ情報を削除したいと思います。 それは可能ですか?どうやって?

9
Java 8での複数のnullチェック
複数のnullチェックに対して少し醜い以下のコードがあります。 String s = null; if (str1 != null) { s = str1; } else if (str2 != null) { s = str2; } else if (str3 != null) { s = str3; } else { s = str4; } だからOptional.ofNullable、以下のように使ってみましたが、誰かが私のコードを読んでいるかどうかはまだわかりません。Java 8でそれを行うための最良のアプローチは何ですか? String s = Optional.ofNullable(str1) .orElse(Optional.ofNullable(str2) .orElse(Optional.ofNullable(str3) .orElse(str4))); Java …

7
JSONObjectとJSONArrayの違い
Googleをざっと見てみたところ、構文の観点からは違いを説明するこのリンクが見つかりました。 プログラミングシナリオでは、どちらが優先されるのでしょうか。
99 java  android  json  arrays 


7
Spring Boot-application.ymlからマップを挿入する
私は次のSpring Bootアプリケーションを持っていますapplication.yml-基本的にここから取得しました: info: build: artifact: ${project.artifactId} name: ${project.name} description: ${project.description} version: ${project.version} 特定の値を注入できます。 @Value("${info.build.artifact}") String value ただし、マップ全体、つまり次のようなものを挿入したいと思います。 @Value("${info}") Map<String, Object> info それは可能ですか?もちろん、yamlを直接ロードできますが、Springですでにサポートされているものがあるかどうか疑問に思っていました。

2
JPA:同じエンティティタイプの1対多の関係を作成する方法
エンティティクラス「A」があります。クラスAには、同じタイプ「A」の子がある場合があります。また、「A」は、子の場合は親を保持する必要があります。 これは可能ですか?もしそうなら、どのようにエンティティクラスの関係をマッピングする必要がありますか?["A"にはid列があります。]

3
どのようにしてa ^ nb ^ nをJava正規表現と一致させることができますか?
これは一連の教育的正規表現の記事の第2部です。これは、先読みとネストされた参照を使用して、非正規言語a n b nと一致させる方法を示しています。入れ子になった参照は最初に紹介されています:この正規表現はどのようにして三角形の数を見つけますか? 典型的な非正規言語の 1つは次のとおりです。 L = { an bn: n > 0 } これは、いくつかaのの後に同じ数のが続く空でないすべての文字列の言語ですb。この言語の文字列の例はab、aabb、aaabbb。 この言語は、ポンプの補題によって非規則的であることを示すことができます。これは実際には、文脈自由文法によって生成できる典型的な文脈自由言語です。 S → aSb | ab それにもかかわらず、現代の正規表現の実装は、通常の言語だけではなく、それ以上のものを明確に認識します。つまり、それらは正式な言語理論の定義では「通常」ではありません。PCREとPerlは再帰正規表現をサポートし、.NETはバランスグループ定義をサポートします。「後方参照マッチング」などの「ファンシー」機能がさらに少ないということは、正規表現が規則的でないことを意味します。 しかし、この「基本」機能はどれほど強力なのでしょうか。Lたとえば、Java regexで認識できますか?我々は、おそらく前後参照とネストされた参照を組み合わせて、例えばで動作パターン持つことができるString.matchesような文字列と一致するようにab、aabb、aaabbbなど、? 参考文献 perlfaq6:Perl正規表現を使用してバランスの取れたテキストを照合できますか? MSDN-正規表現言語要素-グループ定義のバランス pcre.org-PCREのマニュアルページ regular - expressions.info-ルックアラウンドとグループ化および後方参照 java.util.regex.Pattern リンクされた質問 ルックアラウンドは、正規表現で照合できる言語に影響しますか? .NET正規表現バランシンググループとPCRE再帰パターン


6
Javaでのパスの結合
でPython私は2つのパスを結合することができますos.path.join: os.path.join("foo", "bar") # => "foo/bar" 私はそれOSがUnixであるSolarisかどうか心配することなく、Javaで同じことを達成しようとしていますWindows: public static void main(String[] args) { Path currentRelativePath = Paths.get(""); String current_dir = currentRelativePath.toAbsolutePath().toString(); String filename = "data/foo.txt"; Path filepath = currentRelativePath.resolve(filename); // "data/foo.txt" System.out.println(filepath); } それが作ることでPath.resolve( )私の現在のディレクトリに加わることを期待/home/user/testしdata/foo.txtていました/home/user/test/data/foo.txt。何が問題になっていますか?
99 java 

9
Javaを使用して、アクティブに書き込まれているファイルから読み取るにはどうすればよいですか?
ファイルに情報を書き込むアプリケーションがあります。この情報は、実行後にアプリケーションの合格/失敗/正確さを判断するために使用されます。書き込み中にファイルを読み取れるようにして、これらの合格/失敗/正確性チェックをリアルタイムで実行できるようにしたいと考えています。 私はこれが可能だと思いますが、Javaを使用する場合の落とし穴は何ですか?読み取りが書き込みに追いついた場合、ファイルが閉じられるまでさらに書き込みが行われるのを待つだけですか、それとも読み取りがこの時点で例外をスローしますか?後者の場合、どうしたらいいですか? 私の直感は現在、BufferedStreamsに向かっています。これは行く方法ですか?
99 java  file  file-io 

10
Thymeleaf:条件文を使用してCSSクラスを動的に追加/削除する方法
使用してThymeleafのテンプレートエンジンとして、それは単純なものから動的に/へのCSSクラスを追加/削除することが可能であるdivとのth:if句? 通常、次のように条件句を使用できます。 <a href="lorem-ipsum.html" th:if="${condition}">Lorem Ipsum</a> lorem ipsumページへのリンクを作成しますが、条件句がtrueの場合のみです。 何か別のものを探しています。ブロックを常に表示したいのですが、状況に応じてクラスを変更できます。
99 java  html  css  spring  thymeleaf 

7
Javaでオブジェクトを削除しますか?
作成したオブジェクト(あなたに続く楕円形)を削除したいのですが、どうすればいいですか? delete follower1; うまくいきませんでした。 編集: さて、もう少しコンテキストを説明します。私はあなたがコントロールできる楕円とあなたに続く楕円で小さなゲームを作っています。これで、DrawPanel.classという名前のファイルを取得しました。このクラスは、画面上にすべてを描画し、衝突やサウンドなどを処理します。enemy.classを取得しました。これは、プレーヤーに続く楕円形です。私はあなたが制御できるプレイヤーであるentity.classを得ました。そして、プレーヤーがフォロワーと交差する場合は、プレーヤーオブジェクトを削除してもらいます。私がそれをやっている方法: public void checkCollisions(){ if(player.getBounds().intersects(follower1.getBounds())){ Follower1Alive = false; player.health = player.health - 10; } }
99 java 

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