技術メモ

以下は、現時点2019/11/11時点のAdoptOpenJDK13、Windows用jdk-13.0.1.9-hotspotのバグである。

※本家のJDKも同じバグのあることを確認した(Windows 64bit)

技術メモ

JavaアプリをWebSocketクライアントにしてみる。前提条件としては、既にWebSocketサーバが存在するものとする。これには様々なやり方があり、例えばJettyのwebsocket-clientを使ってJetty独自のAPI ...

技術メモ

JavaのStreamにreduceという機能があるが、この使い方を解説してみる。

reduceその1最も簡単な例

要するにストリームで得られた要素を合計するものと思えばよい。

import java.util.*;i ...

技術メモ

実行時にパッケージの情報を得たいと思う。そのパッケージが格納しているクラスが一口に言って、どのような内容であるかを実行時に得たい。

これを得ることによって、巨大なプログラムのデバッグが楽になる。ロギングを行っている場合に、 ...

技術メモ

Eclipseを使用していると、当然だが何度もプログラムを実行したり、ユニットテストを実行したりするのだが、その際に自動的に-enableAssertion(-ea)をRun Configurationに設定したい。こうすれば、常にa ...



技術メモ

問題

JavaコンパイラもEclipseによるコンパイルもそうなのだが、オプションを指定しないと、メソッドのパラメータ名が.classファイルには書き込まれない。この結果、リフレクションでメソッドを調査しても、そのパラメータ名称は、ar ...

技術メモ

問題

equalsは便利な仕組みなのだが、このメソッドはタイプセーフにできない。そのために、間違ったオブジェクトと比較してしまい、常にfalseが返されるというバグの原因になる。例えば、

public static class F ...

技術メモ

あまりにSwingのGroupLayoutがわかりにくいので、これを簡単にするためのビルダを作ってみた。

実行サンプル

まずは実行サンプルだ。

以下のようなコードで、

import javax.swing. ...

技術メモ

問題

Javaの例外には若干のメッセージが含まれるのだが、それをそのままユーザに表示するわけにはいかない。また、トップの例外メッセージには途中の無駄な例外クラスが含まれている。

例えばこうだ。

javax.ws.rs. ...

技術メモ

サーブレット側で受け取ったリクエストをHttpServletRequestオブジェクトから簡単に解析することができる。この例を示す。

import java.util.stream.*;import javax.servlet. ...