Java

移転してます。

Google Blogger へ移転しとります。

Java SE 7 Update 4 での変更点

Java 7 の Update 4 がリリースされたようですのでリリースノートから気になる点を拾い読み。 OS X サポート Apple が Java の OS X 対応を止めてしまったために Java 7 リリースから半年ほど遅れましたが、このバージョンからやっと利用できるようになりま…

JavaはCOBOLのように縮こまらないし死にもしないとOracleが主張

以下の記事: Java won't curl up and die like Cobol, insists Oracle http://www.theregister.co.uk/2012/03/07/oracle_java_9_10_roadmap/ において Java の将来について QCon 2012 で語られた内容が載っていたので昼休みを使って訳してみますた。間違って…

Log4j + syslog の設定

Log4j を syslog へ転送する時はファシリティと Syslog サーバが指定できる。log4j.xml の <appender> → <param> 指定は該当する Appender クラスのプロパティ名と同じなので、詳しくは API リファレンスの setter を参照。 SyslogAppender (Apache Log4j 1.2.17 API)例えば <param name="facility" value="local4"/> </param></param></appender>…

OutOfMemory でスレッドの起動に失敗する件

十分なメモリを割り当てているにもかかわらず Hadoop や Thrift ゲートウェイで OutOfMemoryError が発生しスレッド生成に失敗する事案。 2012-01-18 19:54:16,620 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: DatanodeRegistration(192.168.12…

Java 非同期 I/O のデザインパターン (クライアント編)

New I/O の非同期処理を実装する時にいつも使うパターンの個人的設計まとめ。非同期 I/O はアプリ要件によって設計を柔軟に変える必要があるので定石というわけではありませんし、安全に組み替えるにはそれなりの知識が必要です。 この記事が説明のベースに…

Play! Framework クイックスタート

Play! Framework は Java VM 上で動作するフルスタックの軽量 Web フレームワーク。Scala にも対応しており、Java の静的型システムや豊富なライブラリ、高速性を生かしつつ Ruby on Rails を更にシンプルにしたような手軽さといった印象です。個人的にはプ…

JIT コンパイラ関連オプションの挙動

Oracle Java 6 での JIT コンパイラ関連のオプションとその挙動についての記述。とはいえ大きく挙動を変えられるような実装ではありませんので以下の 3 つを押さえておけば良いかと思います。 -XX:CompileThreshold=10000 JIT コンパイルを行うまでのメソッ…

Java HotSpot VM Options

以下 Java HotSpot VM Options の勝手翻訳と、追加で原文には載っていないオプションについて。Oracle JDK 6 を対象とした内容となっています。このドキュメントは Java HotSpot 仮想マシンのパフォーマンス特性に影響を与える一般的なコマンドラインオプシ…

Java SE 7 の言語拡張

Java SE 7 で導入された新しい言語拡張について簡単にまとめておきます。言語レベルの話ですので、ライブラリレベルの変更点はもっとたくさんありますが。 バイナリリテラル int や long 値を表記する際に 0b11011 のような 2 進数表記の数値リテラルが可能…