0

どなたかアドバイスをいただけないでしょうか。いくつかの POJO 用の Json デシリアライザー/シリアライザーを作成しました。それらを可能な限り汎用にするために、リフレクションに依存して POJO の getter/setter メソッドなどをオブジェクト化します。これがパフォーマンスへの最大の影響であるため、取得後に Method オブジェクトを格納する一種の「ClassUtils」キャッシュを作成しようとしました (Introspector を使用してプロパティ記述子のリストを取得し、次に get/set を取得しています)。そこからの方法)

ただし、最初に Guava LoadingCache を使用しようとしました。非常に便利で便利な機能がいくつかありますが、作成したカスタム キャッシュに比べて非常に遅かったです。Guava キャッシュで 1,000 個のオブジェクトをシリアル化するのに 3.5 秒で、私のキャッシュではわずか 1 秒未満でした。自分...しかし、自分のキャッシュにはGuavaの便利な機能がたくさんありません(古いエントリのクリアなど)

Guava のパフォーマンスを改善するため、またはカスタム キャッシュを改善するためのアドバイスはありますか? 仕事用のコードを実際に投稿することはできませんが、私自身のカスタムキャッシュは基本的に、文字列をキーとして使用して、PropertyDescriptors を格納する HashMap のラッパーです (キーを完全なクラス名に加えて格納する必要があります)。プロパティ名、例: "com.company.package.classes.myclass.property")

4

1 に答える 1