2026-01-01から1年間の記事一覧
OpenOffice odt MS Word docx
Mockito 5 における可変長引数マッチ Mockito 4 の場合 Mockito 4 → 5 へのマイグレーション Mockito 5 における可変長引数マッチ 可変長引数を受け取る count() メソッドがあった場合、 public class Foo { public int count(String... arguments) { return…
Eclipse Temurin JDK は OpenJDK の GA(一般利用可能) となってもなかなか公開されず、概ね2~3週間後の公開となる。 進捗は、https://github.com/adoptium/temurin/issues で Issue として起票されるので、そこで確認できる。 例えば JDK26 の進捗は March …
Issue Enhance UIInput events with HTML5 like oninput PR Automatically pass through all on* event attributes 従来はコンポーネント毎に利用可能な on* イベントが既定されていたが、HTML仕様の追加に追従できていなかった。 Jakarta Faces 5.0 (Jakart…
Unicode 17.0のサポート JavaDoc にダークモード追加 Comparator.min/max の追加 java.lang.Process が AutoCloseable を実装した java.nio.ByteOrder の enum 化 HttpClient の GET リクエストで Content-Length ヘッダ送信の変更 BodyPublishers.ofFileCha…
java.util.UUID のマッピング追加 Java Record のサポート追加 Jakarta EE 12 では Jakarta JSON Binding 3.0 → 3.1 のマイナーバージョンアップが予定されている。 2026年03月時点では大きな変更は無く、java.util.UUID と Java Record サポートの追加程度…
blog1.mammb.com Java 18 からJEP 400: UTF-8 by Defaultにより、デフォルトのエンコーディングが UTF-8 に統一されたため、Windows 環境での文字化けが頻出する。 以下のような gradlew.ps1 を用意して、UTF-8 に統一しておくと良い。 $ENV:JAVA_TOOL_OPTIO…
ステートレス・エンティティ・マネージャー EntityAgent EntityAgent の利用 ステートレス・エンティティ・マネージャー Jakarta Persistence 4.0 では、いわゆる StatelessSession を提供する API が追加された。 StatelessSession は、永続コンテキストを…
GCToolKit とは GCToolKit の導入 Aggregator と Aggregation JVMEvent GCToolKit の利用 Aggregator Aggregation main Vert.x を使わない まとめ GCToolKit とは 2021年8月にオープンソース化された MS製の Javaガベージコレクション(GC)ログファイルのパー…
Native Memory Tracking とは NMT(Native Memory Tracking) は Hotspot VM の機能。 JVM内部で実行されるネイティブメモリ割り当てを追跡できる(ただし JNIコードなどのJVM外部で割り当てられたネイティブメモリは追跡できない)。 NMT を利用するには JVM オ…
Jakarta Persistence 4.0 では、Index アノテーションに(3.2 で追加された options に加え)、kind と type が追加された。 プルリクエストは以下 Add a way to customize SQL DDL for Index Issue は以下 Add a way to define custom SQL DDL for Index Add …
Jakarta EE 12 の Jakarta Persistence 4.0 では @OneToOne @ManyToOne リレーションのデフォルトフェッチタイプの指定が変更された。 Issue と pull request は以下。 https://github.com/jakartaee/persistence/issues/409 https://github.com/jakartaee/p…
The Eternal Enemy: Complexity Saying No Saying ok Factoring Your Code Testing Agile Refactoring Chesterton's Fence Microservices Tools Type Systems Expression Complexity DRY Separation of Concerns (SoC) Closures Logging Concurrency Optimiz…
はじめに GC オプション Java ヒープサイズ 拡張ガベージ・コレクション・オプション シリアルGC の未使用メモリ返却 パラレルGC の未使用メモリ返却 G1GC の未使用メモリ返却 ZGC の未使用メモリ返却 ネイティブ・ヒープ の解放 はじめに Java ヒープは大抵…
blog1.mammb.com 概要 TestLogging showExceptions / showStackTraces showStandardStreams events その他の設定 概要 Gradle で実行したテスト結果は HTML 形式のテストレポートに記載され、デフォルトではコンソール出力に有用な情報がほとんど出力されま…
System.gc() 呼び出し System.gc() を制限する JVMオプション -XX:+ExplicitGCInvokesConcurrent デフォルト化 System.gc() 呼び出し System.gc() を呼び出すと、デフォルトで Stop The World の Full GC を実行します。 System.gc() なんて使っていない。と…
Project Amber Project Valhalla Project Leyden Project Loom Project Panama / Babylon Project Amber Project Amber は、生産性を向上するための小規模なJava言語機能改善を行うプロジェクトです。 これまでに、ローカル変数型推論の var や、テキストブ…
blog1.mammb.com 再現可能なビルド 再現可能なビルド成果物の例 旧来のビルドに戻す 再現可能なビルド Gradle 9 では、Jar、War、Ear、Zip などのアーカイブ生成が変更されました。 ファイルのタイムスタンプが固定化される すべてのディレクトリには権限 07…
# ----------------------------------------------------------- # Add Trusted Sites Script # ----------------------------------------------------------- # List of URLs to add (supports Domains, IPs, and Wildcards) $targetUrls = @( "https://w…
blog1.mammb.com toolchain で指定した JDK の home ディレクトリを表示する。 java { toolchain { languageVersion = JavaLanguageVersion.of(25) } } tasks.register<DefaultTask>("printJavaHome") { val toolchainService = project.extensions.getByType<JavaToolchainService>() val launc</javatoolchainservice></defaulttask>…
Amper とは Amper の導入 Amper の使い方 プロジェクトの初期化 ビルドと実行 依存関係の追加 マルチモジュールプロジェクト 最近 Gradle に疲れを感じます。 頻繁な更新で、現在の正しい書き方が分からない 頻繁にAPIが更新され、プラグインがすぐに動かな…