[openrtm-users 02530] Re: JVM系言語によるRTコンポーネントの実装について

ASAHI, Michiharu asahi @ imagination.co.jp
2012年 5月 8日 (火) 15:21:55 JST


池添さま

エスエフシーの朝日です。

お返事が遅くなりましたが、解説ありがとうございました。

 >JVMの場合、オブジェクトへの参照がなくなればGCによって自動的に
 >メモリが回収されるので、RtcDeleteFuncの中で特に解放処理を行う必要は
ないかと思います。
すると、deleteRtcメソッドは空で問題ないということですね。

 >ちなみにrtcBaseは、RtcDeleteFuncメソッドの中だけのローカルなスコープの
 >変数なので、nullを代入しても呼び出し元には反映されません。
おっしゃる通りですね。
C++なら、数は (RTObject_impl * rtcBase)などとなって、*rtcBase=NULL;
でオブジェクト参照を切れますが、Java で引数にnullを代入しても呼び出し元には何の変化もないですね。

これをもとに、ブログの方も修正します。
あらためて、ありがとうございました。

 >このtraitの使い方は面白いですね。
 >Python版ではonExecuteなどで例外が発生した場合、スタックトレースをログに
 >出してくれるので、Java版も同じようになるとうれしいですね。
Jythonで作ったRTCがtry 〜 except 地獄に落ちて、いまいちな感じになったので、trait の使い方を見てこれだ!
と思いました。Better Javaとはこういうことかと。
Java ではさしあたり AspectJ などを使うんでしょうか?

---
朝日通晴 <asahi @ imagination.co.jp>


More information about the openrtm-users mailing list