Class loader proxy would be useful to share plugins services among different plugins. For example, let's say you have two plugins,
knowledge-base-portlet. Each one has its own WAR file. One of them, let's say
chat-portlet, has a service named
StatusLocalService and the service layer
StatusLocalServiceUtil. Moreover, the second portlet, let's say
knowledge-base-portlet, needs to use the service
StatusLocalServiceUtil.getStatuses in order to find out who is online or offline. The class loader proxy class can achieve these requirements easily.
Note that the portal core and built-in portlets services were deployed on an application server global lib, while the plugin services were deployed on the plugin's lib ...