Java

Java7の情報を探し始めました(まだまだですが)。

遅ればせながらですが少し情報を集めようかと。。。適宜追加予定。 新機能 — Project Kenai JavaDoc http://download.java.net/jdk7/docs/api/ JVM http://download.java.net/jdk7/docs/technotes/guides/vm/performance-enhancements-7.html パフォーマンス…

JDK7がサポートするプラットフォームプラン

もちろんプランらしいのだが、下記になるらしい。 Microsoft Windows on x86 and x86-64 Oracle, Red Hat, SuSE and Ubuntu Linux on x86 and x86-64 Solaris on x86, x86-64 and SPARC ポイントとしては、こんな感じ。 Windows Server 2003はサポートなし I…

ダウンロードできる java 6 update 21 の ビルド番号が 6 から 7 に変わったみたい。

CompanyName が Sun から Oracle に変わったから Eclipse がうまく動かないという話題があったが、どうやら java 側で修正されたバージョンが u22 ではなく u21 を差し替える形でダウンロードできるようになったみたいだ。 Eclipse and Java 6u21 problems …

Sun JavaVMのWindows7、Windows Server 2008 R2のサポート

Java6は、update 16からWindows7のサポートとするとのこと。でもWindows Server 2008 R2のサポートは、Java SE for Businessのみらしい*1。つまりfor Businessのバイナリしか動作確認してないということだろう。サーバ上でJavaを動かしたいならJava SE for B…

jinfoでJavaVMのオプションを実行時に有効にする

Java6で例えば、下記のようにJavaVMのオプションを呼び出すとHeapDumpOnOutOfMemoryErrorが有効になる。ただすべてのオプションが利用できるわけではないようだ。 jinfo -flag +HeapDumpOnOutOfMemoryError pid 例えば、TraceClassUnloadingを有効にしようと…

JavaOne2009資料

ここに公開されてた。 http://developers.sun.com/learning/javaoneonline/j1online.jsp?track=embedded&yr=2009

JavaOne2010ってあるのかなぁ。。。

と思って調べてみたけど、Webサイト:http://java.sun.com/javaone/ には来年のスケジュールは書いてないし、 モスコーニ:http://www.moscone.com/site/do/index のサイトにも来年のスケジュールも書いてない。 でもJavaOne 2009 Recap | Ian Skerrettには「J…

課題 3318に挑戦してみるその3(複数のスレーブをサービス起動できるように)

久しぶりのHudson挑戦ネタ。課題 3318に挑戦してみるその2(複数のスレーブをサービス起動できるように) - メモ。に書かれているコメントに対応するためには、設定を上書きするために「WindowsのサービスにHudsonを削除し再登録」することができるようにし…

課題 3318に挑戦してみるその2(複数のスレーブをサービス起動できるように)

課題 3318に挑戦してみるその1(複数のスレーブをサービス起動できるように) - メモ。の方針通りにWindowsSlaveInstallerクラスを変えてみた(とりあえず版なんでもう少し精査が必要)。サービスをインストールする際にサービスIDとサービス名を入力を促す画…

課題 3318に挑戦してみるその1(複数のスレーブをサービス起動できるように)

JNLPの画面は、hudson.lifecycle.WindowsSlaveInstallerクラスに記述され、サービスとしてインストールするのイベントは、actionPerformedメソッド内に書かれている模様。ここから眺めていくと、actionPerformedメソッド内でhudson-slave.xmlファイルをテン…

VistaでJNLPからサービスとしてHudsonのスレーブを立ち上げる

Vistaだと、JavaWebStart経由でサービスを登録しようとするとアクセスできないというエラーがでてくる。Vistaお得意の管理者権限に昇格できないから。。。ということで、FireFoxを「管理者として実行」で実行してからJNLPを実行すると管理者権限がついたまま…

課題1811に挑戦してみるその2(メール送信を日本語で)

課題1811に挑戦してみるその1 - メモ。の方針通りに、emailextプラグインの方を修正してみた。ExtendedEmailPublisherクラスで、"text/plain; charset=エンコード名" or "text/html; charset=エンコード名"とする実装と、Headerを追加する実装を追加。それ…

JavaVMのオプションを環境変数で設定する

_JAVA_OPTIONS を環境変数として設定しておくとに起動時に設定した値が上書きされる*1。 例 set _JAVA_OPTIONS=-verbose:gc -Xms128m -Xmx128m -XX:+PrintCommandLineFlags *1:2007-06-17 - メモ。にも書いてあった

課題1811に挑戦してみるその1

https://hudson.dev.java.net/issues/show_bug.cgi?id=1811をちょっと見てみた。Messaege#setContentにエンコードを明示的指定する必要があることと、iso-2022-jpで送る場合は、ヘッダに"Content-Transfer-Encoding" "7bit" を指定しないとだめなので、ヘッ…

サービスとしてHudsonの複数のスレーブを立ち上げる

Jobとして長時間動くJobと短時間で複数のJobを別々に1つのサーバで動かすために1つのサーバに複数のHudsonのスレーブを立ち上げたい。Hudsonは、jnlp経由で起動するとサービスとしてスレーブを設定することができるが複数設定しようとするとエラーとなる。…

Java6では、HeapDumpOnCtrlBreak オプションが使えない。

JDK 1.5.0のUpdateバージョンで変わったところその4 - メモ。で書いたCtrl+Breakを押すと、hprofのバイナリ形式のヒープダンプを出力してくれるHeapDumpOnCtrlBreakオプションは、Java6では利用できないみたい。知らなかった。大人しくjmapを利用しろという…

Itanium用 Java 1.6.0_07

5.0からItanium用のJavaVMがSunからリリースされていなかったが、知らぬ間に1.6.0_07向けのJavaVMがリリースされていた。Windows Server 2008にも対応。 確か2007年のJavaOneでItaniumのJavaVMをリリースするというアナウンス*1をしていたのでその成果かな。…

Java6でヒープダンプを取得するコード

HotSpotDiagnosticMXBean(Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle)クラスを利用してダンプを取得する 404 Not Found

Java6 で、jconsoleのようにローカルのJVMにJMXで接続する。

Java6の場合は、下記を参考 Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle

Java6のjconsoleでプラグインを利用する

jconsole -pluginpath プラグインのJarファイル名>

Java5 で、jconsoleのようにローカルのJVMにJMXで接続する。

jconsoleだとローカルのJVMのプロセスIDが表示されてJMX経由で接続することができるがこの方法は一般的に公開されていないので調べていた。今回久し振りにJMXを触っていてこのコードを探していたのでその一部を公開。接続できるVMを取得する。 ajvmに格納さ…

Java5でヒープダンプを取得するためのJNIのサンプルコード

Java5でも(実行時にオプションで取得できるのだが)任意のタイミングで取得したかったのでちょっと調べてみた。ロックとかの制御が必要かも。 typedef jint (WINAPI * JDUMPHEAP)(JNIEnv* , jstring , jboolean ); JNIEXPORT void JNICALL Java_sample_Heap…

JRuby,jython,Groovyで日本語その1 コンソールに日本語表示

JRuby,Groovyはうまくいきましたが、jython 2.2.1ではうまくいかず… //JRuby engine.eval("puts \"jruby 今日は世界。\""); // jython engine.eval("print \"jython 今日は世界。\""); // groovy engine.eval("println \"groovy 今日は世界。\"");

気になるプロジェクトその2 Btrace

https://btrace.dev.java.net/ そのまま引用:BTrace is a safe, dynamic tracing tool for the Java platform. BTrace can be used to dynamically trace a running Java program (similar to DTrace for OpenSolaris applications and OS). BTrace dynamic…

JRuby,jython,GroovyでHelloWorld

//JRuby engine.eval("puts \"jruby Hello World!\""); // jython engine.eval("print \"jython Hello World!\""); // groovy engine.eval("println \"groovy Hello World!\"");

スクリプトエンジンを取得し実行する

ScriptEngine engine = mgr.getEngineByName("groovy"); //スクリプトファイルをロードする,Stringオブジェクトで動作させることも可能 engine.eval(new InputStreamReader(new FileInputStream(GROOVY_SCRIPT), "UTF-8")); //engine.eval("println 'groovy …

利用できるスクリプトエンジンを列挙する

ScriptEngineManager mgr = new ScriptEngineManager(); List<ScriptEngineFactory> factories = mgr.getEngineFactories(); for(ScriptEngineFactory f:factories){ List<String> engNames = f.getNames(); for(String name: engNames) { System.out.printf("Engine : %s\n", name); } }</string></scriptenginefactory>

日立製JavaVM

Cosminexusの評価版があったのでインストールしてみたら日立製のJavaVMもインストールされていた(なつかしきcFrameworkもインストールされた)。日立製のJavaVMはイロイロといじってあるという話を聞いたことがあったが、起動オプション表示させると日立専…

気になるプロジェクトその1

Project WoodStock JSFおよびAjaxによるWeb UIコンポーネントの開発を行っている。NetBenasのJSFのタグライブラリで採用されている。 https://woodstock.dev.java.net/index.html

JavaVMに独自のCharsetを追加する

NIOには、独自のCharsetを追加することができる機能があるということはかなり前から知っていましたが試したことがありませんでした。初めて聞いたのは1.4.0がリリースされたころであり、その時はNIO関連のAPIのみしか利用できないという話を聞いていたので*1…