JPDA technology is a multi-tiered debugging architecture that enables tool developers to easily create debugger applications that run portably across platforms, virtual-machine implementations, and J2SE versions.
JPDA consists of three layers:
JVMDI - Java Virtual Machine Debug Interface
Defines the debugging services a VM must provide for debugging.
JDWP - Java Debug Wire Protocol
Defines the format of information and requests transferred between the process being debugged and the debugger front end, which implements the Java Debug Interface.
JDI - Java Debug Interface
Defines a high-level Java programming language interface that tool developers can easily use to write remote debugger applications.