2012-05-04 10 views
4

ForkJoinPoolの実装を読むとき、私はsum.misc.Unsafeクラスを見つけました。しかし、JDKではソースコードやAPIドキュメントが見つかりませんでした。私はsun.miscのソースコードやAPIドキュメントを見つけることができますsun.miscのソースコード/ドキュメント*

。*

答えて

7

Javaのソースコードについては、このようなコードが利用可能ですが、私は通常GrepCode

+1

GrepCodeは素晴らしいですが、私のjdk/jreに同梱されているバージョンはどのようにわかりますか? – sloven

2

に行く(Binyaminの記事を参照してください)、それにはのコードが必要なものを書き込むことは、一般的に非常に悪い考えです。

最初に、JVMにはこのようなクラスが用意されていることは一般的には保証されていません(SUNのコードベースから降下するJVMには、公開されていない非標準のSUN専用ライブラリが含まれます)。また、これらは標準ライブラリではないので、SUN JVMの後続のリリースでは、それらが存在しているか変更されていないかには本当に依存できません。

+0

+1私はいくつかのライブラリでこれらのライブラリを利用していますが、a)Unsafeを必要としないバージョンも実装してください。b)本当に違いがあるかどうかを確認できます。 c)できるだけ使用しないでください。将来のバージョンでそれを大幅に削除/変更する意思があることは注目に値する。例えばJava 8+これが実際に起こるかどうかは別の問題です。 ;) –

+0

あなたの提案をありがとう。 –

+1

このようなライブラリを使用しないことが「ベストプラクティス」である一方で、実際にそれらを有効に活用することから、より多くの決断を下したことはありません。決定したものを抑止しようとすると好奇心が悪化するので+1してはいけないと言います;-) システムの深い内部に触れていると、これらの実装がなくなる危険性が常にあります。しかし、Unsafeは多くのAPIや多くのJVMに本質的なものです。私はそれが簡単に消え去るのではないかと疑います。 – user924272

関連する問題