2025-05-01から1ヶ月間の記事一覧

Javaで OSコマンドを実行 - JBang Jash -

jbang-jash とは jbang-jash の使い方 その他の使い方 jbang-jash とは Java でOSコマンドを実行するには、ProcessBuilder を使います(旧来はRuntime)。以下のような感じですね。 ProcessBuilder builder = new ProcessBuilder("java", "-version"); Process…

JDK 24 で追加された Stream Gatherers 用ユーティリティライブラリ Gatherers4j

Stream Gatherers Gatherers4j とは シーケンス操作 結合操作 インデックス付与 並び替え 繰り返し スロットル フィルタリング/選択 debounce 重複削除 フィルタ Grouping と Windowing 算術操作 検証 Stream Gatherers JDK 24 で追加された JEP 485: Stream…

JDK25 JEP 483: Ahead-of-Time Command-Line Ergonomics

JDK 24 の JEP 483: Ahead-of-Time Class Loading & Linking JDK 25 の Ahead-of-Time Command-Line Ergonomics blog1.mammb.com JDK 24 の JEP 483: Ahead-of-Time Class Loading & Linking JDK 24 の JEP 483: Ahead-of-Time Class Loading & Linking によ…

JEP 519 : Compact Object Headers

はじめに コンパクト・オブジェクト・ヘッダの有効化 オブジェクト・ヘッダ 従来のオブジェクト・ヘッダレイアウト コンパクト・オブジェクト・ヘッダのレイアウト blog1.mammb.com はじめに JDK 24 にて実験的機能として公開されたコンパクト・オブジェクト…

JEP 506 : Scoped Values

はじめに ThreadLocal の問題点 Scoped Values blog1.mammb.com はじめに java.lang.ScopedValue は、java.lang.ThreadLocal と同様に、スレッド毎のローカル変数を提供します。 java.lang.ThreadLocal と異なり、この変数はイミュータブルで限定的な生存期…

JEP 513 : Flexible Constructor Bodies

はじめに JDK 25 前のコンストラクタ Flexible Constructor Bodies blog1.mammb.com はじめに JDK 25 では、コンストラクタ本体は明示的にせよ暗黙的にせよ、super(...) または this(...) で始まらなければならない、という構文ルールが削除されます。 以前…

JEP 512: Compact Source Files and Instance Main Methods

はじめに JEP 512: コンパクト・ソース・ファイルとインスタンス・メイン・メソッド インスタンス・メイン・メソッド コンパクトソースファイル コンソール・インタラクション blog1.mammb.com はじめに 伝統的な Hello,World プログラムは public class Hel…