1

Appengine は「sun.misc.Unsafe」の使用を制限しているようです。残念ながら、Gson シリアライゼーション ライブラリはこれを使用して、引数なしのコンストラクタを瞬時に提供します。これは、Scala ケース クラスで美しく機能します。

これは有効な制限ですか? もしそうなら、それを許可する機能を要求することは合理的でしょうか?

このタイプのリフレクションにはセキュリティ上の問題があることは認識していますが、App Engine では、自分のコード ベース内のコードに対するリフレクションが許可されています。「sun.misc.Unsafe」にも同じことが当てはまるかもしれません

更新: Unsafe は実際には「安全すぎて」許可されないことがわかりました。より良い解決策は、Gson チームが達成できなかった引数なしのコンストラクターをインスタンス化する別の方法を見つけることです。

4

1 に答える 1

0

このタイプのリフレクションにはセキュリティ上の影響があることは理解していますが、App Engine では、自分のコード ベース内のコードに対するリフレクションが許可されています。「sun.misc.Unsafe」にも同じことが当てはまるかもしれません。その名前が示すように、安全ではなく、JVM全体を台無しにする可能性のある非常に安全でないメソッドがあります。たとえば、メモリ内の任意の場所を変更できるため、Unsafe を自分のクラスだけに制限することはできません。メソッドは次のとおりです。

setMemory(long l, long l1, byte b)
long getAddress(long l)
void putAddress(long l, long l1)
于 2012-07-01T16:44:50.430 に答える