Java 9より前では、スレッドスタックフレームへのアクセスは、内部クラスsun.reflect.Reflection
に制限されていました。具体的には、 sun.reflect.Reflection::getCallerClass
。一部のライブラリはこのメソッドに依存していますが、非推奨です。
代替標準APIは現在経由JDK 9に設けられているjava.lang.StackWalker
クラス、およびスタックフレームに怠惰なアクセスを可能にすることにより、効率的に設計されています。一部のアプリケーションでは、このAPIを使用してクラスの実行スタックとフィルタをトラバースすることがあります。