最新記事

期限切れのキーを持つ Java 時間ベースのマップ/キャッシュ [closed] 質問する
java
caching
dictionary

期限切れのキーを持つ Java 時間ベースのマップ/キャッシュ [closed] 質問する

終了しました。 この質問は、ソフトウェアライブラリ、チュートリアル、ツール、書籍、その他のオフサイトリソースの推奨事項を求めています。 Stack Overflow ガイドライン 現在回答を受け付けておりません。 ソフトウェア ライブラリ、チュートリアル、ツール、書籍、その他のオフサイト リソースの推奨を求める質問は許可されません。質問を編集して、事実と引用で回答できるようにすることができます。 6年前に閉鎖されました。 この投稿は1 年前に編集され、レビューのために送信されましたが、投稿を再開できませんでした。 元のクローズ理由は解決されませんでした この質問を改善する 指定されたタイムアウト後にエントリを自動的に消去する Java Map または同様の標準データ ストアをご存知の方はいらっしゃいますか? これは、期限切れの古いエントリが自動的に「古くなる」ことを意味します。 私はその機能を自分で実装する方法を知っており、過去に何度か実行したことがあるので、その点に関するアドバイスを求めているのではなく、適切なリファレンス実装への指針を求めています。 弱い参照次のようなソリューションに基づく弱いハッシュマップオプションではありません。キーは非インターン文字列である可能性があり、ガベージ コレクターに依存しない構成可能なタイムアウトが必要なためです。 エキャッシュこれも外部構成ファイルが必要なので、頼りたくないオプションです。コードのみのソリューションを探しています。

Admin

アクセントを取り除き、文字列全体を通常の文字に変換する方法はありますか? 質問する
java
string
diacritics

アクセントを取り除き、文字列全体を通常の文字に変換する方法はありますか? 質問する

String.replaceAll()メソッドを使用して文字を 1 つずつ置き換える以外に、アクセントを取り除いて文字を規則的にするより良い方法はありますか? 例: 入力:orčpžsíáýd 出力:orcpzsiayd ロシア語のアルファベットや中国語のアルファベットのように、アクセント付きの文字をすべて含める必要はありません。

Admin

プロパティファイルからリストを読み取り、Springアノテーション@Valueでロードする 質問する
java
spring
spring-properties

プロパティファイルからリストを読み取り、Springアノテーション@Valueでロードする 質問する

ファイル内に値のリストを入れたい.properties、つまり: my.list.of.strings=ABC,CDE,EFG そして、それを自分のクラスに直接ロードするには、次のようにします。 @Value("${my.list.of.strings}") private List myList; 私の理解では、これを行う代わりに、Spring構成ファイルにそれを記述し、Bean参照としてロードします(間違っていたら訂正してください)。 ABC CDE EFG しかし、ファイルを使用してこれを行う方法はあるのでしょうか.properties? 追伸 可能であれば、カスタム コードなしでこれを実行したいと思います。

Admin

Spring Bootのコマンドラインからアクティブプロファイルと構成の場所を設定する 質問する
java
spring
spring-boot
yaml

Spring Bootのコマンドラインからアクティブプロファイルと構成の場所を設定する 質問する

Spring Boot アプリケーションがあります。 私のアプリケーションには開発、ステージング、本番の3つのプロファイルがあります。つまり、3つのファイルがあります。 アプリケーション開発.yml アプリケーションステージング.yml アプリケーションプロダクション.yml 私のapplication.ymlは 内にありますsrc/main/resources。 application.yml でアクティブ プロファイルを次のように設定しました: spring: profiles.active: development 他の 3 つのプロファイル固有の構成ファイルはC:\configフォルダー内に存在します。 私はEclipse用のGradleプラグインを使用しています。「 bootRun 」を実行しようとすると、EclipseのGradle構成でコマンドライン引数を次のように設定します。 -Dspring.profiles.active=staging -Dspring.config.location=C:\Config ただし、コマンド ライン プロパティは反映されず、アクティブ プロファイルは常に開発として設定されます (ファイルで言及したものapplications.yml)。また、C:\Configフォルダーではプロファイル固有の構成ファイルは検索されません。 何かが足りないような気がします。過去 2 日間、それを解明しようとしてきましたが、うまくいきませんでした。どんな助けでもいただければ幸いです。

Admin

プライベートメソッドを公開して単体テストを行うのは良い考えでしょうか? 質問する
c#
java
unit-testing

プライベートメソッドを公開して単体テストを行うのは良い考えでしょうか? 質問する

モデレーター注: ここには既に 39 件の回答が投稿されています (削除されているものもあります)。回答を投稿する前に、議論に何か意味のあることを追加できるかどうかを検討してください。おそらく、他の誰かがすでに述べたことを繰り返しているだけでしょう。 時々、ユニット テストをいくつか記述するためだけに、クラス内のプライベート メソッドをパブリックにする必要があることに気が付きます。 通常、これはメソッドにクラス内の他のメソッド間で共有されるロジックが含まれており、ロジックを単独でテストする方が整理されているためです。または、スレッドの問題を心配せずに同期スレッドで使用されるロジックをテストしたいという別の理由も考えられます。 私があまりやりたくないから、他の人もこれをやっているのでしょうか?? 個人的には、クラス外で実際には何のサービスも提供しないメソッドを公開することによる問題よりも、メリットのほうが大きいと思います... アップデート 皆さん、回答ありがとうございます。皆さんの興味をそそったようです。テストはパブリック API 経由で行うべきというのが一般的なコンセンサスだと思います。これがクラスが使用される唯一の方法だからです。私もこれに同意します。私が上で述べた、これを実行するいくつかのケースは珍しいケースでしたが、それを実行することのメリットは価値があると思いました。 しかし、そんなことは絶対に起こってはならないという皆さんの意見も理解できます。そして、もう少し考えてみると、テストに対応するためにコードを変更するのは悪い考えだと思います。結局のところ、テストはある意味ではサポート ツールであり、いわゆる「サポート ツールをサポートする」ためにシステムを変更するのは明らかに悪い習慣です。

Admin

クラスパスディレクトリからリソースのリストを取得する 質問する
java
resources
classpath

クラスパスディレクトリからリソースのリストを取得する 質問する

指定されたクラスパス ディレクトリからすべてのリソース名のリストを取得する方法 (メソッドのようなもの) を探していますList getResourceNames (String directoryName)。 たとえば、x/y/zファイルa.html、b.html、c.htmlおよびサブディレクトリ を含むクラスパス ディレクトリが指定されている場合d、次の文字列を含む がgetResourceNames("x/y/z")返されます。List['a.html', 'b.html', 'c.html', 'd'] ファイルシステムと jar の両方のリソースで機能するはずです。 Files、JarFiles、 sを使って簡単なスニペットを書けることはわかっていますURLが、車輪の再発明はしたくありません。質問は、公開されている既存のライブラリがある場合、 を実装する最も簡単な方法は何ですかgetResourceNames? Spring と Apache Commons スタックはどちらも実行可能です。

Admin

文字列を分割しながらも区切り文字を維持するにはどうすればよいでしょうか? 質問する
java
regex

文字列を分割しながらも区切り文字を維持するにはどうすればよいでしょうか? 質問する

さまざまな区切り文字のセットで区切られた複数行の文字列があります。 (Text1)(DelimiterA)(Text2)(DelimiterC)(Text3)(DelimiterB)(Text4) を使用してこの文字列を部分に分割することはできますString.splitが、区切り文字の正規表現に一致する実際の文字列を取得できないようです。 つまり、次のようになります: Text1 Text2 Text3 Text4 これが私が欲しいもの Text1 DelimiterA Text2 DelimiterC Text3 DelimiterB Text4 区切り文字正規表現を使用して文字列を分割し、区切り文字も保持する JDK の方法はありますか?

Admin