/私は弱い参照は、db4oのと私の複雑なオブジェクト構造に使用する必要がありますすることはできますか?

StackOverflow https://stackoverflow.com/questions/1913155

  •  19-09-2019
  •  | 
  •  

質問

私は、ポートへのdb4oへの応用を検討しています。データモデルは、相互間の参照の多くの小さなオブジェクトの多くで構成されています。例えば、私は著者との章を指すの本を持っています。章のセクションを持っている、セクションは、テキスト、画像の大きな塊を持っている、と彼らは述べた文字を参照します。

私は(テキストの塊を除くすべて)メモリ内のメタ構造を維持することが可能であるべきだと思うが、私は私がdb4oのは、ちょうどそのIメモリにモデルの一部を続けるだろう弱い参照を含むいくつかの巧妙なトリックを使用することができるかどうかを疑問に思いました本当に(つまり、私が最近使用してきたもの)が必要です。

同じことが(1〜10キロバイトの周りでなければならない)テキストブロブについても同様です。 DB層についてとゲッターの内部で、メモリ内のテキスト全体のすべての時間を保つハードリファレンスを使用せずに人工的なIDを使用してテキストブロブを照会しなくても心配することなく、文字列を取得することが可能ですか?

役に立ちましたか?

解決

WeakReferencesをオフにするには、主にパフォーマンスチューニング。このアプローチには欠点が無視できない - ので注意してください。私はそれをお勧めしません。

の制御メモリ使用量が活性の機能を使用して行われるべきです。アクティベーションは、GCが使用されなくなっオブジェクトのお手伝いをしませんメモリとweakreferencesにあなたがあなたのモデルの一部のみを保つのを助けることができます。私はそれが進むべき道だと思います。

また、 - あなたは、db4oのコミュニティからの助けを得るためにフォーラムをdb4oのためにあなたの質問を投稿することができます。

ゴラン

他のヒント

私は最近、DB40、または任意のORM / OODB製品を使用していませんでした

、しかし、それはメモリ管理&グラフ管理機能のこの種は、フレームワーク自体の一部ではなく、あなたがそれの上に構築何かでなければならないことを私に打ちます。 VersantのDB40は、これを提供していない場合、それはあなたがそれを提供しない代わりに、他の製品に探して価値があるかもしれません。だから、私は答えはあなたを探していません実現が、フレームワークを活用することは、コールの私の最初のポートになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top