Java

JavaでStringのリストの内容にマッチする正規表現オブジェクトを作る

小ネタ。 たとえば下記のようなStringのリストがあったとして、 List<String> strList = Arrays.asList("alpha", "beta", "gamma", "delta"); リストの文字列にマッチする正規表現を作りたいといった場合は下記のようにすればいいです。 // (alpha|beta|gamma|delta)</string>…

Javaソースコードへのよくある指摘 その1

僕の仕事の一環で他人のJavaソースを見ることがあるので、その時によく出る指摘をちょっと書き出してみた。 とーってもレベルの低い記事なのでJavaをまともにやっている皆さんは読む必要無しです。ただの愚痴エントリだよ。 不要な代入 同じ式 思考停止の St…

Java8対応のCheckstyle5.9が出ています

checkstyle – Checkstyle 6.0 Java8に対応したCheckstyle5.9が出ています。(リリースノート: checkstyle – Release Notes) → (2014/10/27 追記) 6.0 が出てました。はやすぎっ これでFindbugs、Checkstyleと2大伝統的JavaインスペクションツールがJava8…

JMockit+JaCoCo トラブルあれこれ

JMockitはテストのために一部のクラスの定義を書き換えるライブラリ、JaCoCoはカバレッジ取得用のライブラリ、どちらも昨今のJava開発のユニットテストで(多分)よく使うものです。 JMockit: http://jmockit.github.io/index.html JaCoCo: http://www.eclem…

FindBugs 3.0.0 (Java8対応) リリースされてた

http://findbugs.sourceforge.net/ FindBugs 3.0.0が昨日リリースされていたようです!(Eclipseのプラグインもリリースされています) Java8対応になりました! はっきりいって https://mailman.cs.umd.edu/pipermail/findbugs-discuss/2014-May/003995.htm…

AntでEclipseのECJ(Eclipse Compiler for Java)を使う

はじめに 知っている人にはよく知られていることですが、EclipseのJava開発環境、JDTがJavaソースのコンパイルに使っているコンパイラは、OracleのJDKなどとは違い、Eclipseが独自実装しているコンパイラ ECJ (Eclipse Compiler for Java)です。 ECJとOracle…

JDK8のjdepsは普通の業務開発でも便利

JDK8からjdeps(http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html)というJavaのクラス間の依存性を調べるツールが追加されました。 Java Day Tokyo2014ではこのツールを使ってJava9のProject Jigsawのための作業をしていると言っていた…

並列で書き込めないデータ構造へのアプローチの考察(はしていない)

Collectors#toMap(): 00000215 Write to ConcurrentHashMap simultaneously: 00001567 Write to HashMap but write tasks are serialized: 00001787 Write to HashMap but write tasks are serialized (with parallel stream): 00001075 たとえばPOIのワーク…

Java Day Tokyo 2014個人まとめ

今年もJava Day Tokyo 2014に参加してきました。 4月あたりにOracleのサイトで受講予約して、メールされた受講票のプリントと名刺を当日会場に持っていくだけ。参加無料です。 英語のセッションには同時通訳が付き、イヤホン付きトランシーバで聞けます。 参…

どんどんメタスペース(パーマネント領域)食べちゃうメタボなクラス

クラスいっぱいロードさせるようなの、ってこういうやり方しかないですかねえ…(←未検索のクズ) ※メモリがどうなるかなど未検証 → 2014/03/25 追記 ちゃんとクラスロードしまくってメモリ食いつぶしてました。