I'm reading jvm documention
Each frame (§2.6) contains a reference to the run-time constant pool (§2.5.5) for the type of the current method to support dynamic linking of the method code. The class file code for a method refers to methods to be invoked and variables to be accessed via symbolic references.
But about them, at 2.6. Frames:
Only one frame, the frame for the executing method, is active at any point in a given thread of control. This frame is referred to as the current frame, and its method is known as the current method. The class in which the current method is defined is the current class. Operations on local variables and the operand stack are typically with reference to the current frame.
In 2.6. Frames, it says
This frame is referred to as the current frame, and its method is known as the current method. The class in which the current method is defined is the current class.
So, we already have a current class in a thread. Why do we need additional references to classes?
The key is dynamic linking? I'm a bit fuzzy.