Java:どこのJavaであるかをJavaプログラム中で検出する

本家Oracleのものに加え、OpenJDKやそれに基づくAdoptOpenJDK他が出てきたため、起動したJavaプログラムが、実際にどのJavaの元で動作しているのか知りたい場合がある。例えば、複数のJavaをインストールしている ...
確立された接続がホスト コンピューターのソウトウェアによって中止されました

Javaプログラムが以下のようなエラーを発生した。これについて調べてみたのだが、今のところ原因はわかっていない。
org.eclipse.jetty.io.EofException at org.eclipse.jetty.io ...Java:OSのスリープ状態を監視する

Javaで定期的なシステム状態の監視を行っている関係で、Windowsが勝手にスリープしてしまうと困ることになる。これを何らかの形で検出することはできるのだろうか。
StackOverflowの議論例によってStackOv ...
ProcessBuilderでJavaコマンドを呼び出す際の注意点

この話の前提として以下の投稿がある。
Java:ProcessBuilderはどのコマンドを実行するのか?java.exeとjavaw.exeの違い、その原理から説明してみる
まず結論から
ここで問題にしている ...
Java:ProcessBuilderはどのコマンドを実行するのか?

例えば、Windows上で複数のJRE(仮にJRE8, JRE10とする)をインストールしており、以下のような設定がされているとする。
レジストリにてJRE8のjavawが指定されている。sample.jarファイルをダブル ...Java:Optional#orElse、orElseGet

Optionalにおいて値が無い場合にどうするかなのだが、orElse、orElseGetというのがある。
どちらを使うべきか?これを検索してみると。「常にorElseGetを使うべき」などとしているところがあるのだが、も ...
LogConfigurationException: User-specified log class ‘org.apache.commons.logging.impl.Log4JLogger’ cannot be found or is not useable.

なぜかこういうエラーがいきなり発生するようになった。これまでは動作しており、何の変更もしてないのにいきなりである。
org.apache.commons.logging.LogConfigurationException: ...サーブレットコンテナの種類を判別する

warファイルのプログラム中から、それが載っているサーブレットコンテナの種類を判断したい。例えば、tomcatなのか、jettyなのかだ。
これが意外にわからない。サーブレット仕様にはどうもそのようなものが無いようだ。唯一 ...
SpotBugs(FindBugs)のWarningに対処する

SpotBugsについての投稿は/tag/SpotBugsにあるので参照されたい
SpotBugs(FindBugs)の警告への対処だが、四種類ある。これについて説明する。
サンプルの警告こんなコードを書いてみ ...
Java:Stream事例集

Streamを使っていろいろやりたいのだが、やり方がわからず四苦八苦することがある。
ここでは、ちょっとした事例を集める。
※直接関係は無いが、Stream中で検査例外(チェック例外)が発生する場合には、Lambd ...