Javaプログラミングに関連する記事です。 サンプルプログラムを多めに載せることが多いです。

Java

今回はCopyOnWriteArrayListの動作について確認してみたいと思います。

基本的にArrayListと同様に使えるのですが、addやremoveの内部処理の動作が異なります。

CopyOnWrit ...

Java

Javaには変数宣言にvolatile修飾子を付加することができます。

volatileをつけていない変数は複数のスレッドからアクセスされた際に値の変更が見えない可能性があります。

例えば、次のコードは一見正常 ...

Java

Javaにはアサーションという、検証コードを記述する機能が備わっています。

アサーションコードを記述するとプログラムの特定の地点で条件が成立しているかを検証できます。

成立していない場合はAssertionEr ...

Java

本稿ではjava.util.Streamで、できることや挙動について確認していきたいと思います。

StreamAPIの各種メソッドについて、こちらでいくつか紹介しています。

StreamAPI使用時に多用される ...

Java

今回はラムダ式を使用する時に、よく利用するjava.util.streamやjava.util.functionパッケージのAPIの使い方を見ていきます。これらのAPIは開発工数の削減に役立つので是非とも動きを覚えておきたいですね。

Java

Java 15から複数行文字列の定義が可能になりましたので紹介しておきます。

ダブルクォーツを3つ並べると以降の文字を改行含めて文字列として定義できます。

閉じるときは同じくダブルクォーツ3つで閉じます。

Java

今回はJava9から利用可能になったモジュール機能についてみていきます。

内容モジュール機能動作確認するための準備
requiresでモジュールの機能を利用する
exportsで機能を公開
transitive ...

Java

前にScriptEngineクラスを使用し、JSON文字列をJavaオブジェクトに変換するコードを紹介しましたが、なんかJava17で使えなくなってました。

ムカついたので自力で相互変換できるクラス作っときました。 ...

Java

本稿ではJava16で正式に追加されたrecordについて使用方法を確認していこうと思います。

recordの機能を使うと、値の変更が不可能なクラスを簡単に作成できます。

定義コードはこれだけです。

re ...

IoT, Java

pigpioを使った温度と湿度を取得するプログラムをJavaで書いてみたので、自分用に内容を記事にしときたいと思います。

前回の記事でDHT22を動かす為の配線を行いましたので、これを動かしていきます。

プログ ...