Java

VMのヒープサイズを指定する

実行時にjava.lang.OutOfMemoryErrorが出る場合は、ヒープが足りてないです。VMオプションでヒープサイズを増やします。 java -Xms256m -Xmx256mXmsが最小値、Xmxが最大値。同じ値を指定すると、常に最大値メモリを食うのでメモリの許す限り広めにとっておく…

仮想マシンと動的コンパイル

Javaはコンパイルしてバイトコード生成して、インタプリタで実行するから遅いですねーという話なんだが、単純にインタプリタというわけでもないらしい。仮想マシン超がんばってる。 Hotspot VMの基本構造を理解する (2/2):チューニングのためのJava VM講座…

メルセンヌツイスタ実装速度比較

メルセンヌツイスタのJava実装いろいろあるけど、どれが一番速いの?ということで比較実験をしてみた。 ECJライブラリの高速化バージョン(MersenneTwisterFast) mantissaライブラリ Coltライブラリ David Beaumont氏による実装 10の9乗個の乱数を生成し合計…

例外を処理せず強制終了の妥当な方法の検討

今日は特にネタもないので例外のお話。プログラマ=ユーザな信頼性とかいらないプログラムを書いていると例外処理ほど鬱陶しいものはありません。しかしJava言語は大変マジメなやつで、RuntimeExceptionを除き例外処理を書かないとコンパイルすら通りません…

java.util.PriorityQueueを1.4系で使う

Javaの良いところはなんとゆってもWrite once, run anywhereなのだけれどもJREのバージョン間の違いは当然あるわけで、そのへんのバージョン互換性問題用に、Eclipseでは複数のバージョンのJREを使い分けて開発できます。まぁよっぽど古いマシンでなければ1.…