Java
Grand を使うと Apache Ant ターゲットの依存関係を dot ファイルとして可視化できる.そもそも可視化したくなるほど依存関係が複雑なことが課題ではあると思うけど,既存の build.xml を解析したり,新しく build.xml を読むメンバーのために README.md に…
Apache Ivy を使って Maven Repository からライブラリを取得するときに,例えば CI 環境では JUnit や Mockito などの「テストに必要な依存関係」も取得したいという場面がある.Apache Ivy では configurations(コンフィグレーション) を使って柔軟に依…
Apache Ant と Apache Ivy を使って Maven Repository から Guava を取得すると不要な javadoc.jar と sources.jar も一緒に取得されてしまうときの解決策を2つメモしておく〜 再現確認 まず,Apache Ant の build.xml にデフォルト設定の ivy:retrieve タス…
Guava の Stopwatch を使ってサンプルコードを書いてみた. よくある System.currentTimeMillis() を使わなくて済むので,コード的にも目的が明らかで見通しが良くなる. Stopwatch (Guava: Google Core Libraries for Java 18.0 API) サンプルコード OnYour…
Java で URL 情報からドメインやらを抽出してみたかったので,Guava の InternetDomainName を使ってみた. InternetDomainName (Guava: Google Core Libraries for Java 19.0-SNAPSHOT API) サンプルコード package com.kakakakakku.guava; import com.goog…
GCログを見るのに GCViewer が良さそうだったので,ダウンロードページから gcviewer-1.29 をダウンロードして,GCログを読み込ませたら,こんなエラーが出てダメだった.ちなみに JVM のパラメータに -XX:+PrintGCDateStamps を入れた場合に対応していない…
ヒープダンプを調べる場合は Memory Analyzer が便利.Eclipse プロジェクトだけど,別に Eclipse がなくてもスタンドアロンで使えるし,ちゃんと Mac 版もあるので,ダウンロードページ からダウンロードできる.今回ダウンロードしたのは Memory Analyzer …
Javaで文字列を反転させる java.lang.AbstractStringBuilder#reverse() の実装を読んでみた.実際にはサロゲートペアを取り扱うコードも入っているが,そこを取り除けば,かなりシンプルな実装になっている.String文字列をchar型配列に変換して,後は文字列…
JVM(IBMJava)が異常終了で落ちる時にダンプが出力されるが,デフォルトだと実行ユーザのホームディレクトリに出力されるらしく,ホームディレクトリのファイルシステムが小さかったりすると,せっかく吐かれたダンプが途中で切れてしまうというかなり残念な…
JavaからMeCabを呼び出す場合,ライブラリとしてJavaバインディングが用意されてはいるものの,自分でライブラリをビルドしたりしないといけないため,手軽に使えるとは言い難い気がした.なので,通常のMeCab(Windows)をDOS上で対話できるように設定してお…
パッと思い付かなくて悔しかったので! Java import java.util.Calendar; import java.util.Date; public class UnixTimeTrans { public static void main(String[] args) { // currentTimeMillis()の戻り値はミリ秒なので注意 long currTime = System.curre…