最近の流行のJNI

最近の流行はJNI

現在仕事で.netを利用しており、度々ネイティブコードを
呼ぶ必要が出てきており、P/Invokeのお世話になっている。
そんなときjavaではネイティブコードとの連携はどうなのよ?
という疑問がふと起きまして、調べている。

JNIってJavaプラットフォームを構築するなくてはならない基盤技術だと
思うけど案外情報が少ない気がする。
OpenJDK読むにはこの知識必須っぽいよ?
単に調べ足りないだけかな?海外のサイトならたくさんあるのかな。
とりあえずsunのJavaのリファレンスマニュアルと、日本語で数少ない
ピアソン・エデュケーションのJNI本を買って読んでる。

C/C++相手なので、メモリ管理やマルチスレッドに対する記述について、
安全なお決まりの書き方のようなものがあれば知りたいと思ったのだけど、
具体的なサンプルコードはweb上ではあまり見つからなかった。

サンプルコードで手に入ったのはOpenJDKだったので、ちょろっと読んで
みた。意外だったのは、Stringクラスのネイティブコード部分が意外に
少なかったこと。見間違えでなければJNIの関数は1つしかなかった。
  【2008/09/22追記】
  ↑よくよく見たらネイティブコード(hotspotのコード)に
   java_lang_Stringクラスとかある。 …ん~わからん。 投
昔Stringクラスは高速化のためネイティブコードを
活用しているようなこと聞いた気がするんだけどなあ。
バージョンによって違うのかな?
私のような初心者にはまだ早すぎたようです...。出直します。

気を取り直し、まずは購入したJNIの本を読んでみことにする。
JNIは前世紀でほぼ固まった仕様っぽく、購入した本も1998年初版の
本だけど、新宿紀伊国屋で買ったこの本はやけにきれいだった。
焼けて黄ばんでいるかと思ったけどそんなことなく。
やっぱり需要はあって、コンスタントに売れているのかも。
 
 
 

コメント

このブログの人気の投稿

日食ツアーその後

NashornがOpenJDKのリポジトリに入ってたのでビルドしてみた

Javaのクロージャをいじってみた。(1)