2012-09-14

Java のシャットダウンフックの書き方

ここの回答がわかりやすかったので、メモ。
Useful example of a shutdown hook in Java? - Stack Overflow
http://stackoverflow.com/questions/2921945/useful-example-of-a-shutdown-hook-in-java

2012-09-09

Population count

先日の「Long.bitCount(long) の速度」の記事で比較した it.unimi.dsi.bits.Fast.count(long) だが、Wikipedia にも同様のコードが載っていてショック。
Hamming weight - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Hamming_weight
そのコードを一般化したものが次のページに載っている。
Counting bits set, in parallel - Bit Twiddling Hacks
http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel

JDK のソースにある「HD, Section 2-1」というコメント

Java API の Integer.lowestOneBit(int) のソースには、
// HD, Section 2-1
というコメントがある。ググると、「Hacker's Delight」という書籍の Section 2-1 を指しているらしい。
java - cryptic comment in jdk source: // HD, Section 2-1 - Stack Overflow
http://stackoverflow.com/questions/1006626/cryptic-comment-in-jdk-source-hd-section-2-1
さらにググると、その書籍の公式サイトらしきものがあった。
Hacker's Delight
http://www.hackersdelight.org/
そのサイトにある書籍のサンプル「Chapter 2, Basics」から、さきほどの「HD, Section 2-1」の箇所を読むことができる。

2012-09-06

Windows 7 & Java 7 & Maven & wagon-ftp でFTPアップロードが失敗する現象

よく忘れるので、メモ。
Java 7 prevents FTP transfers on Windows Vista and 7 if firewall is on. Any ideas? - Stack Overflow
http://stackoverflow.com/questions/6990663/java-7-prevents-ftp-transfers-on-windows-vista-and-7-if-firewall-is-on-any-idea
回避するには、コマンドプロンプトで
netsh advfirewall set global StatefulFTP disable
を実行する。

2012-09-01

Java 7 で String クラスがリファクタリングされているらしい

Java7 Update6 で String クラスがさらにリファクタリングされていました
http://d.hatena.ne.jp/chiheisen/20120827
とのことなので確認してみると、Java 7u6 と Java 6u34 で確かにコードが違ってた。