タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

refrectionとMethodHandleに関するcpp_0302のブックマーク (1)

  • リフレクションを使わずにMethodHandleを使って動的にメソッドを実行してみる。 - Develop with pleasure!

    Java7からJVM上で動作する動的言語のためにInvoke Dynamicという仕組みが導入された。 Invoke Dynamicの導入前までは、動的言語の特性から静的に型が判断できない実行処理においては、各言語毎に処理系が必要で、その処理系に実行処理が委譲されていた。これがInvoke Dynamicの導入によりJVM側で関数ポインタを切り替えて処理が行えるようになり、各言語毎の処理系に処理を委譲せずともJVMで処理が完結するようになった。そのため、JITによる最適化の恩恵をフルに受けれるようになり、JVM上で動作する動的言語のパフォーマンスが向上するみたい。 で、そんなInvoke Dynamicだけど、動的言語以外にJava自体にも恩恵があり、リフレクションを使って動的に処理を実行している箇所は、リフレクションではなくMethodHandleを使用してInvoke Dynamic命

    リフレクションを使わずにMethodHandleを使って動的にメソッドを実行してみる。 - Develop with pleasure!
  • 1